Blog · Board and management reporting · Customer service
Customer satisfaction survey data analysis starts with valid answers and explicit denominators. Work through a scored survey export by segment, period, and service team, with spreadsheet formulas and missing-answer checks.
Customer satisfaction survey data analysis compares valid numeric answers by customer segment, reporting period, and service team. Define who received the survey, which answers count, and what qualifies as satisfied before calculating a score. Keep response coverage beside the result so missing answers do not disappear.
An illustrative US equipment distributor sends the same post-service question during August and September 2026. The question uses integer answers from one through five. Four and five mean satisfied; one through three do not meet that threshold.
Each invitation is eligible, delivered, and unique. The company keeps at most one accepted submission per invitation, using a written rule for corrections. Period means invitation month, with the same response deadline after invitation in both periods. Segment and service team come from the interaction that triggered the invitation.
Keep wording, scale, and question placement consistent. Pew Research Center explains that measuring survey change requires the same wording and sensitivity to question context. If a question changes, start a separately labeled comparison rather than silently extending the old trend.
This analysis uses structured numeric answers. It does not classify open comments or infer sentiment from text. Purchase behavior belongs in a separate customer transaction data analysis, joined only through a verified business key when that comparison is needed.
Use two exports: an invitation register and the accepted submissions. The register preserves customers who never submitted anything. Join submissions to unique invitation IDs without dropping unmatched invitations, and reconcile the invitation count afterward.
The response sheet needs invitation ID, invitation period, segment, team, and raw score. If the raw score is in E2, this Excel helper retains only numeric integers on the approved scale:
=IF(ISNUMBER(E2),IF(AND(E2=INT(E2),E2>=1,E2<=5),E2,""),"")
Put that in F2 and fill down. A text value that looks numeric should be investigated and converted only under an explicit cleaning rule. Preserve the original value. Record separate exclusion reasons for a blank, an out-of-range answer, a duplicate, and an unmatched invitation.
Do not let the helper erase the audit trail. Blank and invalid counts must remain available even though neither contributes a numeric score.
The accepted submissions below contain no duplicate or unmatched invitations. Blank means the customer submitted the questionnaire without answering this question; invalid means a submitted score outside the allowed integer scale.
| Period | Segment | Team | Invitations | Score 1 | Score 2 | Score 3 | Score 4 | Score 5 | Blank | Invalid |
|---|---|---|---|---|---|---|---|---|---|---|
| August | Standard | East | 40 | 2 | 2 | 4 | 8 | 4 | 2 | 1 |
| August | Premium | West | 30 | 0 | 1 | 2 | 5 | 7 | 1 | 0 |
| September | Standard | East | 50 | 1 | 2 | 5 | 12 | 5 | 3 | 1 |
| September | Premium | West | 40 | 0 | 1 | 3 | 8 | 8 | 2 | 0 |
| Total | 160 | 3 | 6 | 14 | 33 | 24 | 8 | 2 |
There are 80 valid scored answers, eight blanks, and two invalid submissions: 80 + 8 + 2 = 90 accepted submissions. The remaining 160 - 90 = 70 invitations produced no submission by the deadline.
These are different missing-data situations. A questionnaire submission is not necessarily a valid answer to the satisfaction question.
Satisfaction rate = Answers of four or five / Valid scored answers
Mean score = Sum of numeric score points / Valid scored answers
Valid-answer response rate = Valid scored answers / Eligible delivered invitations
Use the distribution table as A1:K6, with the four group rows in rows 2 through 5. In L2, calculate valid answers; in M2, satisfied answers; in N2, mean score; in O2, satisfaction; and in P2, valid-answer response rate:
=SUM(E2:I2)
=SUM(H2:I2)
=IF(L2=0,"",(E2+2*F2+3*G2+4*H2+5*I2)/L2)
=IF(L2=0,"",M2/L2)
=IF(D2=0,"",L2/D2)
Fill down through row 5. The resulting table includes score points so the mean can be rebuilt. Means and percentages are rounded to two decimal places.
| Period and group | Valid answers | Satisfied answers | Score points | Mean score | Satisfaction | Valid-answer response rate |
|---|---|---|---|---|---|---|
| August: Standard, East | 20 | 12 | 70 | 3.50 | 60.00% | 50.00% |
| August: Premium, West | 15 | 12 | 63 | 4.20 | 80.00% | 50.00% |
| September: Standard, East | 25 | 17 | 93 | 3.72 | 68.00% | 50.00% |
| September: Premium, West | 20 | 16 | 83 | 4.15 | 80.00% | 50.00% |
| Total | 80 | 57 | 309 | 3.86 | 71.25% | 50.00% |
For the first row, points are 2 × 1 + 2 × 2 + 4 × 3 + 8 × 4 + 4 × 5 = 70. Therefore mean score is 70 / 20 = 3.50 and satisfaction is (8 + 4) / 20 = 60.00%.
If you summarize validated response rows directly, Microsoft documents COUNTIFS for counting records that meet several conditions. For example, count valid August, Standard, East scores in Responses columns B, C, D, and F:
=COUNTIFS(Responses!B:B,"August",Responses!C:C,"Standard",Responses!D:D,"East",Responses!F:F,">=1",Responses!F:F,"<=5")
Microsoft documents AVERAGEIFS for the corresponding conditional arithmetic mean:
=AVERAGEIFS(Responses!F:F,Responses!B:B,"August",Responses!C:C,"Standard",Responses!D:D,"East",Responses!F:F,">=1",Responses!F:F,"<=5")
These formulas assume one reporting year in the filtered sheet. Use a year-month period key when multiple years are present. Covirage is not affiliated with Microsoft or Google.
The score distribution proves the total: 3 + 6 + 14 + 33 + 24 = 80 valid answers. Points are 3 + 12 + 42 + 132 + 120 = 309, and satisfied answers are 33 + 24 = 57. Thus overall mean is 309 / 80 = 3.86 and satisfaction is 57 / 80 = 71.25%.
Never average displayed group percentages to calculate the total. For a fuller explanation of preserving denominators, see weighted averages in Excel.
August satisfaction is (12 + 12) / (20 + 15) = 68.57%. September is (17 + 16) / (25 + 20) = 73.33%. The difference is 4.76 percentage points, calculated before rounding.
Standard satisfaction rises from 60.00% to 68.00%, while Premium stays at 80.00%. Premium's mean nevertheless moves from 4.20 to 4.15 because the distribution across score categories changes. The mean treats adjacent score steps as equal numerical intervals; show the distribution and threshold rate beside it.
Do not rank East against West from these rows. Team and segment are perfectly aligned, so the comparison cannot separate team differences from segment differences. Equal response rates also do not prove respondents represent every invited customer. Record these limits and use the figures to select records for review. For the subsequent decision workflow, see using data to improve customer experience.
Upload your invitation and numeric-response summaries, or bring a Google Sheet with approved scoring and exclusion rules. 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 a sample of your own data.
See self-service analytics with Covirage for the supporting context.
Exclude missing answers from score calculations and report their count separately. Keep eligible invitations in the response-rate denominator, including invitations that produced no submission. Treating a blank as zero invents a score the customer never gave.
They answer different questions. The average describes the numerical position of valid answers on the declared scale; the satisfaction percentage counts answers meeting an approved threshold. Show the distribution and denominator so neither summary hides important differences.
Only with clear limits. Teams may handle different customers, issues, or stages of service. Use consistent questions and observation windows, show response counts, and avoid interpreting a difference as team performance when the customer mix also differs.