Blog · Board and management reporting · Software
A customer success dashboard brings renewal status, recorded adoption, service effort, and revenue into one account review. This worked example reconciles the totals and changes one usage input to show what moves the result.
A customer success dashboard compares renewal status, adoption, service effort, and revenue for the same account population. Its purpose is to give the customer success team a defensible follow-up list with visible evidence behind each measure. A risk flag should identify an account to review, without implying that its renewal outcome is known.
Use a dated account list and state which renewals belong in the review. Attach usage and service records for a fixed observation period, then bring finance's recorded revenue for its stated period. Customer success owns the actions; finance and operations own the underlying revenue and activity definitions.
Separate annual recurring revenue, or ARR, from revenue recorded during a quarter. Stripe's explanation of recurring revenue describes ARR as annualized MRR and explains that MRR is not GAAP revenue. The example below uses supplied ARR for renewal exposure and a separate finance export for quarterly revenue.
The dashboard is a compact answer to a review agenda. The broader questions a customer success leader asks help define that agenda before adding more measures.
An illustrative US subscription business reviews accounts as of September 30, 2026. All four renew on December 31, 2026. Signed means the next renewal agreement has been executed; Open means it remains unresolved. The ARR column is the existing recurring amount attached to each account, not the value of a new agreement.
| Account | Existing ARR (USD) | Renewal date | Renewal status | July-September recorded revenue (USD) |
|---|---|---|---|---|
| A | 120,000 | December 31, 2026 | Signed | 30,000 |
| B | 90,000 | December 31, 2026 | Open | 20,000 |
| C | 60,000 | December 31, 2026 | Signed | 15,000 |
| D | 30,000 | December 31, 2026 | Open | 7,000 |
| Total | 300,000 | 72,000 |
The usage export supplies licensed seats at September 30 and the distinct seats within that same population that were active during September. Active means a user completed the business's defined core action during the month. Service effort is the recorded September time charged to the account, with no shared hours allocated in this example.
| Account | Licensed seats | Active seats | Service hours |
|---|---|---|---|
| A | 80 | 64 | 4 |
| B | 60 | 24 | 12 |
| C | 40 | 30 | 3 |
| D | 20 | 6 | 6 |
| Total | 200 | 124 | 25 |
Confirm each source contains one summary row per account before matching it. Summarize detailed usage and service records separately so multiple tickets do not duplicate account revenue.
Seat adoption = Active licensed seats / Licensed seats
Open renewal exposure = Existing ARR on unresolved renewals / Existing ARR in the renewal cohort
For this review, the team chooses adoption below 50% as a discussion flag. That is an illustrative operating threshold, not an industry benchmark or a probability of churn. It should be reviewed against the account's agreed use case and documented success criteria.
Combine the input tables into an Accounts sheet: A is account, B ARR, C renewal date, D renewal status, E recorded revenue, F licensed seats, G active seats, and H service hours. In Google Sheets, calculate adoption in I2 and the review flag in J2, then fill down:
=IF(OR(NOT(ISNUMBER(F2)),NOT(ISNUMBER(G2)),F2<=0,G2<0,G2>F2),"",G2/F2)
=IF(I2="","Missing or invalid usage",IF(I2<50%,"Review","No adoption flag"))
Missing or invalid usage stays outside the adoption classification. A numeric zero for active seats is valid when the licensed-seat count is positive and the export confirms no activity.
| Account | Adoption calculation | Adoption | Adoption flag | Renewal status |
|---|---|---|---|---|
| A | 64 / 80 | 80.0% | No adoption flag | Signed |
| B | 24 / 60 | 40.0% | Review | Open |
| C | 30 / 40 | 75.0% | No adoption flag | Signed |
| D | 6 / 20 | 30.0% | Review | Open |
Use SUMIFS to total values matching a status. For example, existing ARR attached to open renewals is:
=SUMIFS(B2:B5,D2:D5,"Open")
The result is $90,000 + $30,000 = $120,000. COUNTIFS counts records meeting the stated criteria; =COUNTIFS(J2:J5,"Review") returns two accounts for the adoption discussion.
| Dashboard measure | Calculation from the account rows | Result |
|---|---|---|
| Existing ARR in cohort (USD) | 120,000 + 90,000 + 60,000 + 30,000 | 300,000 |
| Existing ARR attached to signed renewals (USD) | 120,000 + 60,000 | 180,000 |
| Signed share of existing ARR | 180,000 / 300,000 | 60.0% |
| Open share of existing ARR | 120,000 / 300,000 | 40.0% |
| Weighted seat adoption | 124 / 200 | 62.0% |
| Adoption-flagged existing ARR (USD) | 90,000 + 30,000 | 120,000 |
| September service hours on open accounts | 12 + 6 | 18 |
| Open accounts' share of service hours | 18 / 25 | 72.0% |
| Quarterly recorded revenue (USD) | 30,000 + 20,000 + 15,000 + 7,000 | 72,000 |
Percentages are rounded to one decimal after calculation. Signed and open ARR reconcile: $180,000 + $120,000 = $300,000. Service hours also reconcile: open accounts use 18 hours and signed accounts use 4 + 3 = 7 hours, giving 25 hours overall.
The company adoption figure uses seat counts. The simple average of the account percentages would be (80% + 40% + 75% + 30%) / 4 = 56.25%, which gives the smaller accounts equal weight. Keep the chosen denominator in the dashboard label.
Suppose B's September active-seat count is 36 instead of 24, with every other input unchanged. B's adoption becomes 36 / 60 = 60.0%, and total active seats become 124 - 24 + 36 = 136. Company adoption becomes 136 / 200 = 68.0%, an increase of 6.0 percentage points.
B leaves the adoption flag, leaving D's $30,000 flagged, or 30,000 / 300,000 = 10.0% of cohort ARR. Open renewal exposure remains $120,000 because no renewal status changed. Recorded revenue and service hours also remain unchanged.
That distinction guides the review. B has stronger usage evidence but still needs a renewal conversation. The customer success analytics workflow can support that follow-up; a customer service dashboard addresses the separate queue and service-operation questions.
Covirage is not affiliated with Google or Stripe.
Bring a sample of your own account, renewal, usage, service, and revenue exports with stable account IDs and clear reporting dates. Covirage maps the columns, its tools compute and check the comparisons, and the external AI model explains the results with every figure traced to its rows. Create a free Covirage account and bring your own file.
See renewal watch for the supporting renewal-review context.
Include the accounts eligible for the review, upcoming renewal dates, renewal status, a defined adoption measure, recorded service effort, and revenue on a consistent basis. Show missing records separately and keep the account rows available behind each summary.
No. Separate indicators can be more useful when their definitions and limitations are visible. If your organization supplies a health score, show its inputs, cutoff, and owner. A dashboard does not make an untested score a calibrated renewal probability.
That depends on the question. For the share of licensed seats active across the business, divide total active seats by total licensed seats. An unweighted customer average answers a different question because it gives every account equal weight.