Real SGA practice TTM production joined with synthetic ticket sentiment. Every chart is a filter. Filters stack and persist across tabs.
| Practice | TTM $ | Tickets | T/$100K | Neg | Avg | % neg |
|---|
| Category | Tickets | Neg | % neg |
|---|
Bubbles above the trendline generate more tickets than production predicts (friction tax). Far below with low production = possible silent suffering.
Practices ranked by severity × size × friction. Click any row to drill in — filter the dashboard and see the full context. How is this scored?
ticket_severity (0-11 per ticket):
5, medium=2, low=03, negative=2, neutral=0, positive=-1, very_positive=-23, resigned=3, frustrated_but_trying=1, else=0size_multiplier = clamp(TTM / median_TTM, 0.5, 2.0) — bigger practice = bigger revenue at risk
friction_flag = 1.5× if tickets/$100K exceeds peer median, else 1.0×
These weights are judgment calls. When real data lands we'll see which practices "feel wrong" in the top 5 and tune. The numbers are exposed here so nothing is a black box.
| Ticket | Practice | Category | Pri | Score | Emotions | Esc | Cause | State | Conf | Model |
|---|
Score -1 to +1 (sentiment); Conf model self-reported (0-1). Esc model-judged escalation risk — hover the row to see the reason.
Routing: short/low-priority → Haiku 4.5; long/urgent/keyword-flagged → Sonnet 4.6.
Data: 50 English rows from Tobi-Bueck/customer-support-tickets, reshaped into Zoho schema with real SGA practice metadata from Dental Intelligence. For dental-shaped signal, feed a real Zoho Desk export.