Sign in

Blog · Board and management reporting · Sales teams

Growth dashboard: revenue, customers, and retention

Build a growth dashboard from customer revenue exports. Use Excel formulas to separate new revenue, expansion, contraction, and lost revenue, then reconcile the bridge and check customer retention.

The short answerA growth dashboard explains revenue change by separating new-customer revenue, expansion, contraction, and revenue lost from previous customers. Start with customer revenue for two comparable periods, use stable customer IDs to match the rows, and reconcile the movements to total revenue. Add customer retention so new business cannot hide a weakening existing book.

A growth dashboard should explain revenue movement through new customers, expansion, contraction, and lost revenue, then prove that those movements reconcile. Revenue growth alone cannot tell you whether the existing customer book is strengthening or new business is replacing losses.

Start with customer revenue for comparable periods

Export the revenue date, stable customer ID, and net revenue after credits and returns. Keep the same business units, currency, and accounting basis in both periods. Use recognized revenue or invoiced sales consistently; do not compare one with the other.

Create a customer list containing every ID appearing in either period. A customer appearing only in the earlier period must remain on the sheet, or the dashboard will miss its lost revenue. Resolve changed IDs before calculating; a renamed customer should not become one loss and one acquisition.

This example compares August and September 2026 for a US distributor. The amounts are positive or zero. Review negative customer totals separately because credits larger than sales need a different classification. For multiple currencies, settle the currency and entity roll-up before attributing growth to customers.

Aggregate the export in Excel

On a sheet named Export, put dates in A, customer IDs in B, and net revenue in C. On a summary sheet, put the customer ID in A, August revenue in B, and September revenue in C.

For B2, use:

=SUMIFS(Export!$C$2:$C$5000,Export!$B$2:$B$5000,$A2,Export!$A$2:$A$5000,">="&DATE(2026,8,1),Export!$A$2:$A$5000,"<"&DATE(2026,9,1))

For C2, use:

=SUMIFS(Export!$C$2:$C$5000,Export!$B$2:$B$5000,$A2,Export!$A$2:$A$5000,">="&DATE(2026,9,1),Export!$A$2:$A$5000,"<"&DATE(2026,10,1))

Fill down and extend the ranges to include the entire export. The upper date bound excludes the next month, including when dates carry times. Microsoft documents SUMIFS as summing values that meet multiple criteria.

Customer August revenue (USD) September revenue (USD)
Aster 100,000 120,000
Beacon 80,000 60,000
Cedar 60,000 60,000
Delta 40,000 0
Elm 0 50,000
Total 280,000 290,000

These are rows 2 through 6. The revenue change is $10,000, and =(SUM(C2:C6)-SUM(B2:B6))/SUM(B2:B6) returns 3.6%, rounded to one decimal place. A multiyear growth rate answers a different question; use CAGR in Excel for that calculation.

Split each customer into the revenue bridge

Add D for retained revenue base, E for expansion, F for contraction, G for lost revenue, and H for new revenue. Enter these formulas in row 2 and fill down:

D2: =MIN(B2,C2)
E2: =IF(AND(B2>0,C2>0),MAX(C2-B2,0),0)
F2: =IF(AND(B2>0,C2>0),MAX(B2-C2,0),0)
G2: =IF(AND(B2>0,C2=0),B2,0)
H2: =IF(AND(B2=0,C2>0),C2,0)

Retained base means the dollars present in both periods before expansion. Expansion and contraction apply only to customers active in both periods. New means absent from the comparison period, which can include reactivated customers; add customer history before calling it acquisition.

Customer Retained base (USD) Expansion (USD) Contraction (USD) Lost (USD) New (USD)
Aster 100,000 20,000 0 0 0
Beacon 60,000 0 20,000 0 0
Cedar 60,000 0 0 0 0
Delta 0 0 0 40,000 0
Elm 0 0 0 0 50,000
Total 220,000 20,000 20,000 40,000 50,000

The proof is the bridge:

September revenue = August revenue + New + Expansion − Contraction − Lost

290,000 = 280,000 + 50,000 + 20,000 − 20,000 − 40,000

This check must return zero:

=SUM(B2:B6)+SUM(H2:H6)+SUM(E2:E6)-SUM(F2:F6)-SUM(G2:G6)-SUM(C2:C6)

Also check =SUM(D2:D6)+SUM(E2:E6)+SUM(H2:H6)-SUM(C2:C6). It returns zero because current revenue is retained base plus expansion plus new revenue. Tie both monthly totals back to the source export independently.

Add customer retention beside the dollars

There are four active customers in August, four in September, and three active in both. Period buyer retention is therefore 3 / 4 = 75.0%. Microsoft's COUNTIFS reference explains how multiple criteria count only rows meeting every condition:

=COUNTIFS(B2:B6,">0",C2:C6,">0")/COUNTIF(B2:B6,">0")

The customer-count check is beginning active customers plus new customers minus lost customers: 4 + 1 − 1 = 4. This is purchase-period retention, not proof of contractual churn.

Existing-customer September revenue is 290,000 − 50,000 = $240,000, or 85.7% of August revenue. That makes the decision clear: overall growth is positive, but new revenue conceals a shrinking existing book. Review Beacon's contraction and Delta's absence before celebrating the total. The new-business and renewal mix provides a separate view by account executive.

Where it goes wrong

  • Missing earlier customers. Starting from only the latest export removes losses from the bridge.
  • Unfinished periods. A partial current month makes normal billing timing look like contraction.
  • Overlapping classifications. Lost revenue belongs in its own column, not in contraction as well.
  • Buying cadence called churn. Confirm an account's status before treating a quiet month as a lost relationship.
  • Rounded inputs. Compute from full amounts and round only the displayed percentages.

Explain growth from your own customer file

Bring a customer revenue export to Covirage: it maps the columns, its tools compute and check the revenue bridge, and the external AI model explains the movements with every figure traced to its rows. Create a free Covirage account and bring a sample of your own data; account creation takes about a minute.

See revenue driver analysis for the supporting business context. Covirage is not affiliated with Microsoft.

Questions people ask

What should a growth dashboard include?

Include revenue for comparable periods, the revenue bridge, active customer counts, retained customers, and the accounts behind each movement. Show the reporting dates and revenue definition. Add other measures only when someone owns the action they trigger.

Does no revenue mean a customer has churned?

No. A customer may buy seasonally, pause purchases, or receive an invoice in a later period. Label the dashboard measure as no revenue in the period unless a contract or customer-status record confirms that the relationship ended.

Should revenue growth use the previous month or previous year?

Use the comparison that fits the business question. Previous-month growth highlights recent movement, while the same month last year helps with seasonality. Keep both periods complete and use the same customer mapping and revenue policy.

Can customer retention rise while revenue falls?

Yes. Customers can remain active while spending less, and a retained small account does not replace the revenue of a large departing account. Report customer retention beside existing-customer revenue movement so both the count and the dollars remain visible.