What goes in an NPS and CSAT trends dashboard?
An NPS and CSAT trends dashboard reports the two headline experience scores the way statisticians wish everyone would: as trends with visible response volume, segmented by the customers behind them, and never as a single decontextualized number.
Which cards belong on this dashboard?
- NPS trend by month with response volume
- Promoters, passives, and detractors over time
- CSAT trend by touchpoint
- NPS by plan, segment, and region
- Score by customer tenure cohort
- Response volume by survey and channel
- Verbatim theme counts by sentiment
- Detractor follow-up rate
What data does this dashboard need?
- Response-grain NPS data with 0-10 score, timestamp, and account
- CSAT responses with score, touchpoint, and timestamp
- Account dimension with plan, segment, region, and start date
- Categorized verbatim themes where text analysis exists
- Follow-up or ticket links for detractor workflows
How do you build it?
- Sync the source tools into a database and retain raw IDs, timestamps, statuses, and segment fields.
- Build modeled tables at the grain this dashboard requires.
- Create one saved question per card and certify the shared models and definitions.
- Add dashboard filters for Date range, survey, segment, plan, touchpoint.
- Show refresh time, and exclude internal and test activity from every headline card.
Example card SQL
SELECT
a.segment,
COUNT(*) AS responses,
ROUND(
100.0 * (
COUNT(*) FILTER (WHERE r.score >= 9)
- COUNT(*) FILTER (WHERE r.score <= 6)
) / NULLIF(COUNT(*), 0), 1
) AS nps
FROM nps_responses r
JOIN accounts a ON a.id = r.account_id
WHERE r.submitted_at >= CURRENT_DATE - INTERVAL '90 days'
GROUP BY a.segment
HAVING COUNT(*) >= 30
ORDER BY nps DESC;