Daily support queue health — how many tickets were opened, how many of those got resolved, how long it took, and how customers rated it. Bucketed by category × priority so the ops lead can see which lanes are loaded.
- highAveraging `p50_resolution_hours` across multiple buckets
Roll-ups of percentiles are biased (avg-of-percentiles). For a true window percentile, query a single-bucket result and read the raw value — don't time_grain over it.
- mediumReading CSAT without `tickets_with_csat`
avg_csat_score weights all rated tickets equally per bucket. Always pair it with `tickets_with_csat` so the consumer sees the sample size — buckets with 3 ratings drift wildly.
- mediumComparing `tickets_closed` to `tickets_opened` across days
`tickets_closed` counts CURRENT status, not closures-in-bucket. A ticket opened Monday and resolved Tuesday counts in Monday's `tickets_opened` AND `tickets_closed`. close_rate handles this correctly; subtraction does not.
- “Which categories had the highest backlog last week?”
- “CSAT trend for billing tickets, weekly, year-over-year.”
- “Close-rate by priority, this month.”
- customer_health
Per-customer support footprint feeds the at-risk flag. Spikes here drive at_risk_share there.
- product_reviews
Negative reviews often precede a category support spike — compare the trends to spot quality regressions early.
- revenue
Cross-reference with revenue to answer "is the queue cost catching up with sales growth?"
- dashboardSupport ops dashboard (Metabase)
- runbookSLA + priority policy