Free tool
NPS mix shift calculator. Did NPS drop, or did different customers answer?
Enter two periods of NPS responses by segment. The calculator splits the change into a mix effect (who answered) and a within-segment effect (how they scored), and tells you which one moved the number.
One row per segment (channel, region, plan). Enter counts: promoters scored 9 or 10, passives 7 or 8, detractors 0 to 6.
Your result
The change, split into who answered and how they scored
Mix = change in a segment's share of responses × its average NPS over both periods. Within = its average share × its change in NPS. The two add up to the total change. Margin = 95% margin of error of the change, from the response counts.
Everything is calculated in your browser. The calculator makes no network calls and saves nothing: close the tab and your numbers are gone. The site's usual analytics record that you visited this page, but the numbers you type and the results are masked from them.
Run this on all your data
Join every survey response, with its comments tagged, to your CRM and support data, and get this split every time the survey closes.
Plans from $299 a month. 14 days free. Card at checkout. Cancel before day 14 and pay nothing.
What the calculator does
NPS is the percentage of promoters (9 or 10) minus the percentage of detractors (0 to 6), taken across everyone who answered. That makes the overall score a weighted average: each segment's NPS times its share of responses. So the total can move for two different reasons. Different customers answered (the shares changed), or customers in a segment scored differently (the segment NPS changed). The calculator measures each.
The formula in plain words
- Mix effect. For each segment, take the change in its share of responses and multiply by its average NPS across the two periods. Add up the segments.
- Within-segment effect. For each segment, take its average share across the two periods and multiply by its change in NPS. Add up the segments.
- They add up. Mix plus within equals the total change exactly. Averaging the two periods keeps the split symmetric, so the answer does not depend on which period you call the base. This is the shift-share split used in our NPS mix-shift post.
- Fixed-mix NPS. The later period's segment scores weighted by the earlier period's shares. If it sits close to the earlier NPS, the scores held and the respondents changed.
- Margin of error. Each answer counts as +1, 0 or -1, so a segment NPS has a standard error of 100 × √((share promoters + share detractors - (NPS/100)²) / responses). The margin is 1.96 times the combined error of the two periods.
With the example data loaded above (made up for the post, not from a customer), NPS falls from 38 to 23. Who answered accounts for -14.4 points and scores within channels for -0.6, because the support channel grew from 10% to 34% of responses.
When to use it
- The headline NPS moved and nobody can point to a product or service change that explains it.
- A survey trigger, channel, sampling rate or region changed between the two periods.
- Before you read comments to explain a drop: if the drop is mostly mix, the comments of the segments that held steady will not tell you much.
Limitations
- The split is only as good as the segments you enter. A mix shift on a cut you did not enter shows up as within-segment change.
- A mix shift is not always a measurement artifact. If more customers answered from support because more customers needed support, the shift is the news.
- Segment scores on a few dozen responses move several points by chance. Check the margin column before acting on a segment.
- A segment present in only one period counts entirely as mix.
Common questions
What is a mix shift in NPS?
A mix shift is a change in the share of responses coming from each group of customers. NPS is computed across all responses, so a larger share from a low-scoring group lowers the total even when no group changed its scores.
How is the change split into mix and within?
The mix part is each segment's change in share times its average NPS across the two periods. The within part is each segment's average share times its change in NPS. Using the average of both periods makes the two parts add up exactly to the total change, whichever period you start from.
Which segments should I enter?
Start with anything that changes how or when the survey is sent: trigger, channel and region. Then customer traits that usually score differently, such as tenure, plan and recent support contact. Run the calculator once per segmentation.
What does the margin next to each change mean?
It is the 95% margin of error of the change, from the number of responses. If a segment's change is smaller than its margin, the move could be chance. Small segments have wide margins.
Is my data sent anywhere?
No. The calculator runs in your browser and makes no network calls. What you type is not sent or saved, and your inputs and results are masked from the site's analytics and session recordings.
Ask why the number moved. On every response.
Start with one file. Ask why a number moved. Plans from $299 a month, no demo and no contract on monthly plans.