Sign in

Blog · Board and management reporting · Customer service

Customer satisfaction and profitability: compare matched accounts

Compare satisfaction bands with customer contribution using matched survey and finance exports. Rebuild the comparison in Google Sheets, reconcile the totals, and recognize response bias before making a service decision.

The short answerCompare customer satisfaction and profitability by matching customer IDs across survey responses, revenue, direct costs, and cost to serve for a defined period. Calculate contribution for each account, group valid scores into consistent satisfaction bands, and divide each band's contribution by its revenue. Show nonrespondents separately: a difference between bands describes an association, not the profit caused by satisfaction.

Customer satisfaction and profitability should be compared on the same customer records, with a defined survey window and consistent contribution costs. Group the matched accounts by satisfaction score, calculate each group's contribution margin, and keep customers who did not respond visible. The result identifies questions to investigate; it does not establish that satisfaction caused the profit difference.

Define the comparison before joining the files

Start with a finance export containing customer ID, net revenue, direct product costs, and measured service costs. Add a structured survey export containing customer ID, response date, and a numeric satisfaction score. Use account IDs rather than names, and agree whether the survey represents a contact or the whole account.

For this example, a US distributor compares July through September 2026 contribution with an account survey completed at the end of September. Each account received one invitation. Scores run from 1, very dissatisfied, to 5, very satisfied; 4–5 is the high band and 1–3 the lower band. These are reporting choices for this example, not universal thresholds.

Keep the survey question, scale, and timing stable between reviews. Pew Research Center's guidance on writing survey questions explains why trend comparisons need consistent wording and question context. A changed question can produce a changed score without a changed customer experience.

This page compares scores with contribution. Use customer satisfaction KPIs for the wider set of satisfaction measures, and the customer profitability report for the finance report's structure.

Build one row per account

Remove duplicate survey records using a declared rule before the match. For example, keep the latest eligible account response within the survey window. Do not let an account with several contacts appear several times in the finance totals.

The complete matched table is below. Revenue is after credits and discounts; service cost includes the same measured delivery and support activities for every account. Amounts are USD.

Account Revenue (USD) Direct cost (USD) Service cost (USD) Contribution (USD) Score Band
A 100,000 60,000 10,000 30,000 5 High
B 80,000 48,000 16,000 16,000 4 High
C 60,000 36,000 18,000 6,000 3 Lower
D 40,000 24,000 12,000 4,000 2 Lower
E 20,000 12,000 10,000 -2,000 5 High
F 50,000 30,000 5,000 15,000 — No response
Total 350,000 210,000 71,000 69,000

Put these columns in A:G, with accounts in rows 2:7. Calculate E2 and fill down:

=B2-C2-D2

Suppose the separate Survey sheet has the five respondent IDs in A2:A6 and their valid scores in B2:B6. Match the score into F2:

=XLOOKUP(A2,Survey!$A$2:$A$6,Survey!$B$2:$B$6,"No response",0)

The final zero specifies exact matching; Google's XLOOKUP documentation describes that matching option. Reject out-of-range and nonnumeric survey entries before this step. Then assign G2 and fill down:

=IF(ISNUMBER(F2),IF(F2>=4,"High","Lower"),"No response")

Compare margins and prove the totals

Place the three band labels in I2:I4. Use these formulas for customer count, revenue, contribution, and margin respectively:

=COUNTIF($G$2:$G$7,I2)
=SUMIFS($B$2:$B$7,$G$2:$G$7,I2)
=SUMIFS($E$2:$E$7,$G$2:$G$7,I2)
=IFERROR(L2/K2,"")

Here J is count, K revenue, L contribution, and M margin. Google's SUMIFS documentation specifies summing a range according to criteria. Divide the summed dollars rather than averaging account margins.

Band Accounts Revenue (USD) Contribution (USD) Contribution margin
High 3 200,000 44,000 22.0%
Lower 2 100,000 10,000 10.0%
No response 1 50,000 15,000 30.0%
Total 6 350,000 69,000 19.7%

Margins are rounded to one decimal place. The full population reconciles: $350,000 minus $210,000 minus $71,000 equals $69,000. Band contributions also total $69,000, and the band counts total six. These Sheets checks must both return zero:

=SUM(K2:K4)-SUM(B2:B7)
=SUM(L2:L4)-SUM(E2:E7)

The response rate is five divided by six, or 83.3%, rounded to one decimal place. Keep that denominator beside the comparison. The nonrespondent has a 30.0% margin, so omitting it would change the financial picture.

Turn the comparison into a review list

The high band has the stronger aggregate margin, but account E is satisfied and loses $2,000 of contribution. Review its service activity before offering a broad service upgrade or a discount. A large high-margin account can hide a smaller loss-making account within the same band.

Finance owns the contribution definition and reconciliation; customer service owns the survey population and service review. Together, compare account size and product mix before proposing an intervention. The worked contribution example explains the cost calculation, while profitability versus lifetime value separates today's earnings from future customer economics.

Where it goes wrong

  • Response bias. Respondents may differ from silent customers. Report coverage; a high response rate alone does not prove representativeness.
  • Timing mismatch. An old score beside current costs may describe different experiences. Keep survey and finance windows explicit.
  • Duplicate accounts. Joining several responses to one account multiplies revenue and costs. Resolve responses before matching.
  • Unequal cost coverage. Missing service costs make some customers appear more profitable. Missing is not zero.
  • Causal claims. Segment differences can reflect product mix or account size. Test a proposed change separately before attributing profit to satisfaction.

Compare your own survey and contribution files in Covirage

Bring a sample of your own scored survey export and customer finance file. Covirage maps the columns; its tools compute and check the matched comparisons, and the external AI model explains the results with every figure traced to its rows. Create a free Covirage account and set up your business before bringing your files.

See Covirage for customer profitability for the supporting approach. Covirage is not affiliated with Google.

Questions people ask

Does higher customer satisfaction mean higher profit?

Not necessarily. A satisfied account may need expensive support, discounts, or special deliveries. Compare contribution after those costs rather than revenue alone. Differences between satisfaction bands can also reflect account size, product mix, or which customers answered the survey.

Which profit measure should be compared with satisfaction?

Use a clearly defined customer contribution measure, such as net revenue minus direct product costs and measured cost to serve. Keep the cost definition consistent across accounts and periods. Label the result contribution rather than net profit when corporate overhead is excluded.

How should missing satisfaction scores be handled?

Keep customers without valid scores in a separate group. Do not replace their scores with zero or the average. Report how many customers responded and reconcile all groups to the complete finance population, so the comparison does not silently exclude part of the business.