Analytics & reporting — status reports, SLA dashboards, time tracking
BlueHill ships status reports (this week vs last week), SLA dashboards, time-tracking reports, and customer-health metrics — all powered by the activity timeline and metrics models. No external BI tool required.
What BlueHill analytics covers
Analytics in BlueHill is intentionally narrow and operational, not a general-purpose BI tool. The reports are the ones a customer-facing team actually opens every Monday morning:
- Status reports — this week vs last week, per project
- SLA attainment — first-response time, resolution time, breach rate
- Time tracking — hours by customer, project, team member; billable vs internal
- Onboarding velocity — average days to milestone, completion rate
- Ticket volume — by category, priority, customer, source
- Customer health — derived signals per account
For deeper BI work (cohort retention, funnel analysis, revenue attribution), pipe the data to your warehouse and build there. The API is open.
The data behind the reports
BlueHill's reporting layer is built on three models and one big logging system:
Metrics— system-wide counters and aggregates (ticket throughput, SLA rates, etc.)CustomerMetrics— per-customer rollups (health score, engagement, onboarding progress)task_activityevent log — every status change, every interaction, every assignment is appended to a single time-ordered logboard_status_computer— the helper that rolls task_activity events into weekly snapshots for status reports
This means every report is grounded in real events, not a periodic aggregate that drifts out of sync. When a ticket transitions to Resolved, that's logged. When a customer task hits Done, that's logged. The reports query against the log.
Status reports (this week vs last week)
The status-reports view is the workhorse for weekly standups and customer QBR prep. It compares:
| Project | This Week | Last Week | Δ | Status | |---|---|---|---|---| | Acme · Q1 Onboarding | 18 | 12 | +6 | On Track | | TechFlow · Migration | 9 | 14 | −5 | Delayed | | Globex · Renewal | 22 | 8 | +14 | Ahead |
The "this/last week" columns count completed tasks or resolved tickets per project per week. The delta column flags directional movement. The status column is computed from project-level rules (e.g. "Delayed" if delta is meaningfully negative).
CSMs use this to prep QBRs in 15 minutes instead of 90. Managers use it to spot drift before customers complain.
SLA dashboards
The SLA dashboard pulls from the Ticket model's due_date, first_response_at, resolved_at, and sla_breach_at fields. Views available:
- First-response attainment — % of tickets where the first outbound reply happened before the agreed SLA
- Resolution attainment — % of tickets resolved before
due_date - Breach rate by priority — Urgent vs High vs Normal vs Low
- Breach rate by customer tier — Enterprise vs Mid-market vs SMB
- Trend over time — week-over-week, month-over-month
The trickiest variable in SLA tracking is "who pauses the clock when the ticket goes Pending or Waiting on Customer". BlueHill pauses on Waiting on Customer (the customer is the blocker) and continues on Pending (the team is the blocker) by default — configurable per tenant.
Time tracking + reports
Time tracking lives at the task level. Every CustomerTask carries time_estimate (forecast) and time_unit (hour / day). Actual time is logged via time entries against the task.
Reports group by:
- Customer + date range → for invoicing
- Team member + date range → for utilization
- Project + date range → for engagement profitability
- Billable vs internal → for billable utilization metric
The reports export cleanly to CSV for QuickBooks import, or sync via webhook for real-time invoicing.
Customer health
The CustomerMetrics model derives health from a weighted set of signals:
- Onboarding milestone progress (heavily weighted in the first 90 days)
- Recent interaction volume (drop = risk signal)
- Open ticket count and aging
- Time-since-last-touchpoint
- Exec sponsor engagement (calendar events, email responses)
- NPS / CSAT scores (if collected via Forms)
Health states surface on every customer record and aggregate into the at-risk view. The weights are configurable per tenant — different industries weight signals differently.
Onboarding velocity
For teams running structured onboarding (the Onboarding feature), the velocity report shows:
- Average days from contract-signature to first-value milestone
- Distribution by customer segment
- Where in the template the average customer slows down
- Comparison this quarter vs last quarter
Useful for the "is our onboarding actually getting faster" conversation that comes up every QBR with leadership.
Exporting and BI integrations
Three paths:
- CSV export — every report has a download button
- REST API —
GET /api/metrics,GET /api/customer_metrics,GET /api/activityfor programmatic access - Webhook → warehouse — fire events to Snowflake / BigQuery / Postgres for real-time analytics
We don't try to be your BI tool. We try to surface the operational reports your customer-facing team needs to do their job, and stay out of the way for the rest.
Built for
- Customer success teams tracking portfolio health
- Agencies reporting on client engagements
- Professional services firms running billable-utilization reviews
Try it
Start a 14-day free trial — no credit card required.