Marketing & Business Strategy

M04 · Intermediate

Market Research

10 lessons

M04 · Module 4, lesson 1 · Lesson 9 of 10

Analysing survey data

Prepare a survey export for analysis, then build frequency tables, cross-tabs, top-box scores and the Net Promoter Score with its margin of error in Excel. Weight results to the population with SUMPRODUCT, compare groups with B04’s tests, choose the median for skewed counts, and know when a base is too small to report.

About 95 minutes

Before you start

You will be able to

  • Prepare survey data for analysis: decide how to treat partial responses, flag speeders and straight-liners, code open answers and missing answers, and state the base of every figure.
  • Build frequency tables and cross-tabs in Excel with COUNTIF, COUNTIFS and a PivotTable, percentaging within each category of the explanatory variable.
  • Calculate top-box and top-two-box scores and the Net Promoter Score with its standard error and margin of error, and compare two scores.
  • Calculate weighted results with SUMPRODUCT, report them with their unweighted base, and explain why they differ from unweighted ones.
  • Compare groups with B04’s tests, choose between the mean and the median for skewed counts, and decide when a base is too small to report.

Review first

  • Survey error — The response rates by segment, the weights N_h ÷ n_h, Kish’s effective sample size and what weighting can’t fix are used here without being derived again.
  • Questionnaire design — The six February questions, the Net Promoter question and the purchase-intent scale are the data this lesson analyses.
  • Conditional sums, counts and averages — COUNTIF, COUNTIFS, AVERAGEIFS, SUMPRODUCT and mixed references build every table here.
  • PivotTables — PivotTables and Show Values As (% of Row Total) build cross-tabs without formulas.
  • Proportions and chi-square tests — The two-proportion z test and the chi-square test of independence compare segments.
  • Confidence intervals — Margins of error and intervals for a proportion.

Fictional case A fictional coffee business founded by Ana Lim. It starts as a catering and barista-training service, opens its own cafés and an online shop for beans, and plans a canned cold brew.

The idea

Fictional case

The February survey closed on 16 February 2027. Of the 2,004 people Ana invited, 516 completed the questionnaire and 56 more returned partial questionnaires. Her survey tool exports one row per complete, and she has already coded the open answers to “What one thing could Lantern do better?” into themes. Before the March focus groups she wants three answers: how likely her customers are to recommend Lantern, how many would buy Lantern Cold Brew, and what Lantern should do better.

The export is a table of 516 rows and eight columns: a respondent number, the segment each person came from on the mailing list, the 0–10 recommendation score (Q1), the Cold Brew answer (Q2), cups of coffee bought away from home last week (Q3), how they first heard of Lantern (Q4), their age group (Q5) and the coded improvement theme (Q6). Turning it into answers takes five moves: prepare the data, count each answer, cross one answer with another, summarise scales into scores, and decide how far the results reach beyond the people who replied. Each move comes with one habit that separates honest analysis from a pile of percentages.

Every figure has a base

A percentage is a count divided by a base: the number of respondents it is calculated on. “42% would buy” means nothing until the reader knows 42% of whom, and of how many. Ana’s Cold Brew question was answered by all 516 completes, so its base is “all completes (516)”. Her table of improvement themes could use all 516 or only the 331 who suggested something, and the choice changes every figure: price was raised by 16.3% of all completes but by 25.4% of those who made a suggestion. Choose the base that answers the question, and print it with the figure.

Counting: the frequency table

A frequency table lists the answers to one question with the count and the percentage of the base for each. It is the first table to build for every question, because it shows the shape of the answers and anything that looks wrong: an answer nobody should be able to give, or a total that doesn’t match the base.

Q2: “How likely would you be to buy Lantern Cold Brew in the next three months?” Base: all completes (516), unweighted
AnswerRespondents% of base
Definitely would buy8115.7%
Probably would buy13726.6%
Might or might not16331.6%
Probably would not8616.7%
Definitely would not499.5%
Total516100%

Percentages are rounded, so they may not add to exactly 100.

Two summaries of a purchase-intent scale are standard in marketing research. The top-box score is the share choosing the most favourable answer, here 15.7% “definitely would buy”; the top-two-box score adds the next answer, giving 42.2% who would definitely or probably buy. Both are shares of the people who answered, not forecasts of buyers: Survey error showed that stated intentions overstate what people go on to do.

Crossing: who would buy?

The total hides what Ana most needs to know: who the likely buyers are. A cross-tabulation, or cross-tab, counts respondents by the answers to two questions at once: a contingency table of the kind B04 tested, shown with the percentages that answer the question. Ana crosses Q2 with the segment each respondent came from.

Cold Brew intent by segment: percentage of each segment’s completes (rows add to 100% allowing for rounding), unweighted. Workshop participants (base 27) are shown for teaching; under the minimum base in Small bases they would be suppressed.
SegmentTop two boxesMight or might notBottom two boxesBase
Subscribers61.8%23.6%14.6%89
Other shop customers55.3%26.2%18.4%103
Workshop participants51.9%40.7%7.4%27
Newsletter only31.0%35.0%34.0%297
All completes42.2%31.6%26.2%516

Each row adds up to 100%, because Ana’s question is how each segment answered. The rule is to percentage within each category of the explanatory variable, the one you think may explain the other, and then compare across those categories. Subscribers chose the top two boxes 61.8% of the time; newsletter-only respondents, 31.0%. Percentaged the other way, the same counts answer a different question: of the 81 people who would definitely buy, 31 (38.3%) were newsletter-only respondents, because there are so many of them, although only 10.4% of newsletter-only respondents gave that answer.

Scoring: the Net Promoter Score

Q1 asked how likely each person was to recommend Lantern to a friend or colleague, from 0 to 10. The Net Promoter Score (NPS), proposed by Frederick Reichheld in 2003 and introduced in Questionnaire design, sorts the answers into promoters (9 or 10), passives (7 or 8) and detractors (0 to 6), and subtracts the percentage of detractors from the percentage of promoters. Ana had 237 promoters (45.9%), 184 passives (35.7%) and 95 detractors (18.4%), so her NPS is 45.9 − 18.4 = +27.5. The score runs from −100, when everyone is a detractor, to +100, when everyone is a promoter, and is written without a % sign: +27.5 doesn’t mean that 27.5% would recommend Lantern.

Promoters, passives and detractors among Ana’s 516 completes, by segment (unweighted). The NPS is the promoters’ share minus the detractors’ share; the base is in brackets. Workshop participants (base 27) are shown for teaching; under the minimum base in Small bases they would be suppressed.

Like any estimate from a sample, the score has a margin of error: ±6.5 points at 95% for 516 answers, so the survey puts the NPS of people like those who answered between about +21 and +34. Within segments the scores run from +62 among subscribers to +7 among newsletter-only respondents, with wider margins on the smaller bases.

Beyond the respondents: weighting

Ana invited each segment in proportion to its size, but the segments didn’t reply in proportion: subscribers are 8.7% of the list but 17.2% of the completes, and newsletter-only people 72.2% of the list but 57.6% of the completes. So every all-respondent figure leans towards Lantern’s keenest customers. Weighting each respondent by the segment’s list size divided by its completes, the post-stratification of Survey error, puts the segments back in proportion: the weighted NPS is +20.4 and the weighted top-two-box score 38.2%. In Excel both come from SUMPRODUCT, as In depth shows.

In depth

Preparing the data

Partial responses. Fifty-six of Ana’s questionnaires were partials, which under her rule in Survey error answered three to five of the six questions (people who answered fewer are break-offs, counted with the refusals). Survey error showed how AAPOR’s response rates count these partials; for analysis the question is which of their answers to use. One rule analyses completes only, so every question has the same base. The other keeps each partial’s answers to the questions it reached, so each question has its own base and every table needs its base printed. Ana chose completes only before fieldwork (fictional), because her questionnaire is short and one base keeps her tables comparable; whichever rule you choose, fix it before you see the results, so that it can’t be picked to suit them.

Speeders and straight-liners. A speeder finishes far faster than anyone could read the questions; a respondent who is straight-lining gives the same answer to every item in a grid of rating questions. Both are signs of satisficing, answering with too little effort to be accurate, and Zhang and Conrad (2014) found that web respondents who sped also straight-lined more grid questions. Flag them by rules set in advance, such as a completion time under a third of the median, or identical answers across a grid that contains reversed items, which no attentive person would give. Thresholds differ between studies, so state yours, remove a case only when the evidence is strong, and report how many you removed. Lantern’s six questions contain no grid, so the challenging example uses a survey that does.

Missing answers. A blank can mean that a question wasn’t asked (routing skipped it), that the respondent skipped it (item non-response), or that the answer was “don’t know” or “prefer not to say”. Give each a distinct code and never record any of them as 0, because 0 is a real answer on a 0–10 scale. If “don’t know” is stored as 99, =AVERAGE(C2:C517) averages the 99s with the real scores, while =AVERAGEIFS(C2:C517,C2:C517,"<99") leaves them out. Decide for each figure whether “don’t know” belongs in the base: on a purchase-intent question it is a meaningful answer, best shown as a row of its own. Ana’s completes have an answer to every closed question, so the problem doesn’t arise in her export, but it does in most.

Coding open answers. Answers to an open question become numbers through a code frame: a list of themes, each with a definition and examples, drafted from a sample of the answers and then applied to all of them. Qualitative research builds codebooks the same way and checks inter-coder agreement. An answer can be single-coded, to its main theme, or multi-coded, to every theme it mentions; with multi-coding the percentages add to more than 100%, and the table must say so. Ana single-coded the 516 answers into seven themes, one of which, “Nothing, or left blank”, joins two different things: people with nothing to suggest and people who skipped the box.

Q6: “What one thing could Lantern do better?”, coded into themes (one theme per answer), unweighted
ThemeRespondents% of all completes (516)% of those who suggested something (331)
Nothing, or left blank18535.9%—
Price8416.3%25.4%
Delivery speed5811.2%17.5%
Range7614.7%23.0%
Packaging and waste417.9%12.4%
Website or app417.9%12.4%
Other316.0%9.4%
Total516100%100%

Percentages are rounded, so they may not add to exactly 100.

Both bases are honest if they are labelled; they answer different questions. Price leads with 84 suggestions, a quarter of them, ahead of range (76) and delivery speed (58). A count of mentions measures how common a theme is, not how strongly people feel or how much it would change their buying, so read the answers behind each code before acting on it. Crossed with segment, delivery speed was raised by 18.0% of subscribers and 8.1% of newsletter-only respondents, which fits the fact that subscribers are the ones waiting for deliveries.

Frequency tables and cross-tabs in Excel

With Ana’s export in A1:H517 (segment in B, the 0–10 score in C, the Cold Brew answer in D), a frequency table is one COUNTIF per answer. With the five answers in J2:J6, =COUNTIF($D$2:$D$517,J2) filled down counts them, and =K2/SUM($K$2:$K$6) turns the counts into percentages of the base. A cross-tab is a grid of COUNTIFS with mixed references, as in B03: with segments down J3:J6 and answers across K2:O2, =COUNTIFS($B$2:$B$517,$J3,$D$2:$D$517,K$2) in K3 fills across and down, and =K3/SUM($K3:$O3) gives row percentages.

A PivotTable builds the same table with segment in Rows, the Cold Brew answer in Columns and a count in Values, shown as % of Row Total. Formulas suit a fixed report layout that must update by itself; a PivotTable suits trying many crosses quickly. With formulas, check that the counts add to the base: a total of 515 points to an answer spelled differently from the five labels, one with a trailing space perhaps. A PivotTable counts every record, so there the same problem shows up as an extra row or column; either way it is a cleaning job.

Rounded percentages needn’t add to exactly 100: Q2’s five shares add to 100.1%. Don’t force them; a note that percentages may not add to 100 because of rounding is the convention. Give percentages to whole numbers or one decimal place, and never to more places than the base supports: with 27 respondents each person is 3.7 points, so 51.9% suggests a precision the data don’t have.

When neither variable explains the other, as with age group and how people first heard of Lantern, either direction is legitimate, but the table’s title should say which question it answers. Column percentages are sometimes exactly what is wanted: a sales planner deciding where to send free samples needs to know where the likely buyers are, and that is the column view. The error is to calculate one and read it as the other.

Top-box scores and the mean of a scale

Q2’s answers are an ordinal variable: “probably” lies between “definitely” and “might or might not”, but nothing says the steps are equal. Box shares respect that. A mean of the codes 1 to 5 treats the steps as equal, an assumption the question can’t support, so if you report one, report it beside the box shares, not instead of them. The bottom-two-box score, the share who probably or definitely would not buy, is 26.2%. Turning intent into a forecast needs a conversion assumption for each box, which Market sizing covers.

The Net Promoter Score and its margin of error

Give each answer a value of +100 for a promoter, 0 for a passive and −100 for a detractor: the NPS is the mean of those values. Its standard error follows from their variance, which depends only on the shares of promoters and detractors (the formula cards). For Ana, 100(0.459+0.184−0.2752)÷516100\sqrt{(0.459 + 0.184 - 0.275^2) \div 516} ≈3.32\approx 3.32, and the 95% margin is 1.96×3.32≈6.51.96 \times 3.32 \approx 6.5 points. That is half as wide again as the margin for the promoters’ share alone, ±4.3 points, because the NPS is the difference of two shares that move against each other.

Rocks (2016) compared interval methods for the NPS and found that this simple (Wald) interval is too narrow, covering the true score less often than 95% of the time even at 300 answers (he also found an iterative score interval performs well). He recommends an adjusted version that adds 3/4 to the promoter and detractor counts and 3/2 to the passive count before applying the same formula. At Ana’s 516 answers the adjustment hardly matters (+27.4 ± 6.5); for the 27 workshop participants it moves the interval from +11.2 to +70.2 to +8.6 to +64.7. On bases that small, use the adjusted interval, or better, don’t report the score at all (see Small bases).

Two independent groups’ scores are compared through the standard error of their difference, SE12+SE22\sqrt{\text{SE}_1^2 + \text{SE}_2^2}. Subscribers (+61.8, SE 7.20) and newsletter-only respondents (+7.1, SE 4.28) differ by 54.7 points with a standard error of 8.37, so z ≈ 6.5: far beyond chance. Two waves of a tracking survey are independent samples too, so the same calculation shows whether a change between waves is larger than chance; In practice shows why a few points usually aren’t.

Reichheld argued that this one question usually predicted growth better than others, and that in most of the industries he studied the share of enthusiastic customers tracked growth relative to competitors. Keiningham and colleagues (2007), with longitudinal data from 21 Norwegian firms, failed to replicate its claimed superiority over other measures of customer satisfaction and loyalty. The score also throws information away: a 0 and a 6 are both detractors, and half promoters with half detractors scores 0, the same as everyone a passive. Use it as one tracked indicator, with its margin of error, beside the distribution of scores and the reasons people give. Net Promoter Score is a service mark of Bain & Company, NICE Systems and Fred Reichheld.

Weighted results in Excel

A weighted share is ∑wiyi÷∑wi\sum w_i y_i \div \sum w_i, where yiy_i is 1 for a respondent who counts (a promoter, say) and 0 otherwise, and wiw_i is the respondent’s weight: a SUMPRODUCT divided by a SUM. With each respondent’s weight in column I, the weighted top-two-box score is =SUMPRODUCT(I2:I517,(D2:D517="Definitely would buy")+(D2:D517="Probably would buy"))/SUM(I2:I517), and the weighted NPS is =100*(SUMPRODUCT(I2:I517*(C2:C517>=9))-SUMPRODUCT(I2:I517*(C2:C517<=6)))/SUM(I2:I517). Every respondent in a segment carries the same weight, so a four-row table gives the same answers: ∑Nhp^h÷N\sum N_h \hat{p}_h \div N, the segments’ shares weighted by their list sizes.

Weighting Cold Brew intent to the mailing list’s segment sizes (weights rounded to two decimals)
SegmentOn the list (N)Completes (n)Weight N ÷ nTop two boxesTop-two share
Subscribers520895.845561.8%
Other shop customers1,0001039.715755.3%
Workshop participants150275.561451.9%
Newsletter only4,33029714.589231.0%
All, unweighted6,00051621842.2%
All, weighted6,00051638.2%

Report a weighted percentage with its unweighted base, the number of people it rests on, and a note: “Weighted to the mailing list’s segment sizes; unweighted base 516.” Unequal weights reduce the effective sample size: Kish’s effective n is 469 (Survey error), which gives a quick margin for the weighted NPS of +20.4 of about ±6.8 points. The stratified standard error of Sampling methods, which also credits the stratification, gives ±6.3: use Kish’s figure as a quick check and the design’s own standard error when it matters. Comparisons between segments don’t need weights, because within a segment every respondent carries the same weight.

Comparing groups

Differences between segments are tested with B04’s methods. Subscribers’ top-two-box score of 61.8% against newsletter-only respondents’ 31.0% gives a two-proportion z test statistic of 5.25 (p < 0.0001) and a 95% interval for the gap of 19.4 to 42.2 points. Subscribers against other shop customers, 61.8% against 55.3%, gives z = 0.91 and p = 0.37, with an interval from −7.5 to +20.4 points: on these bases the survey can’t tell the two apart.

To test all four segments at once, use the chi-square test of independence. The full 4 × 5 table fails its condition: the expected count of workshop participants who “definitely would not” buy is 2.56, below 5. Merging the answers into the top two boxes against the rest leaves a 4 × 2 table whose smallest expected count is 11.4, and gives χ² = 37.7 with 3 degrees of freedom, p < 0.0001 and Cramér’s V = 0.27: intent clearly differs by segment.

Three cautions. B04’s tests assume simple random samples; each segment is a random sample of its stratum, so comparisons between segments stand, but an interval for a weighted all-respondent figure needs the stratified standard error from Sampling methods. The tests speak only about the people who replied: if keen newsletter readers replied more readily than indifferent ones, the gap the test confirms may be partly a gap in who answered. And twenty cross-tabs tested at the 5% level will produce about one “significant” difference by chance, the multiple testing problem, so choose the few comparisons that matter before looking.

The mean, the median and skewed counts

Q3 asked how many cups of coffee each person bought away from home last week. The answers run from 0 to 20 with a long right tail: 60 people (11.6%) bought none, the median is 3 and the mean 3.9, pulled up by a few heavy buyers (the standard deviation is 3.4). In Excel, =MEDIAN(G2:G517) and =AVERAGE(G2:G517) give the two. For one segment, =AVERAGEIFS(G2:G517,B2:B517,J2) gives the mean, and =MEDIAN(IF(B2:B517=J2,G2:G517)) or =MEDIAN(FILTER(G2:G517,B2:B517=J2)) the median, since Excel has no MEDIANIFS. In Excel 2019 and earlier, enter =MEDIAN(IF(…)) with Ctrl+Shift+Enter; FILTER needs Excel 2021, Excel 2024 or Microsoft 365.

All four segments have a median of 3 cups, while their means run from 3.7 to 4.0: the differences between the means come from a few heavy buyers, not from the typical respondent. Report the median for a typical customer and the mean when you need a total, because the mean times the number of people gives the cups bought. A recall question about last week also carries measurement error, as Survey error explained, so neither figure deserves more than one decimal place.

Small bases

Workshop participants returned 27 completes. Their NPS is +40.7 with a margin of ±29.5 points, from about +11 to +70, and their top-two-box score is 51.9% with a margin of ±18.8 points. Figures like these invite over-reading: “workshop participants are less enthusiastic than subscribers” isn’t supported when the two intervals overlap this much. Set a minimum base before the analysis and apply it to every table. One published standard, from the US National Center for Health Statistics, withholds among other things any proportion whose sample size (or effective sample size) is under 30, or whose 95% Clopper–Pearson confidence interval is 30 percentage points wide or more (Parker et al., 2017); Ana adopts the first rule (fictional), so workshop participants count in every all-respondent figure but get no figure of their own.

Formulas

Top-box and top-two-box scores

Top-k box=xkn×100\text{Top-}k\text{ box} = \dfrac{x_k}{n} \times 100
xkx_k
Respondents choosing one of the k most favourable answers (k = 1 for top box, 2 for top two)respondents
nn
The base: respondents who answered the question (with “don’t know” in or out, as stated)respondents
kk
How many boxes, counted from the favourable end

Assumes. The scale is ordered, with the favourable end clear.

Excel: =SUM(COUNTIFS(D2:D517,{"Definitely would buy","Probably would buy"}))/COUNTA(D2:D517).

Net Promoter Score

NPS=100×(pP−pD),pP=Pn,pD=Dn\text{NPS} = 100 \times (p_P - p_D), \qquad p_P = \dfrac{P}{n}, \quad p_D = \dfrac{D}{n}
PP
Promoters: answers of 9 or 10 to the likelihood-to-recommend questionrespondents
DD
Detractors: answers of 0 to 6respondents
nn
All who answered the question, passives (7 or 8) includedrespondents
pP, pDp_P,\ p_D
Shares of promoters and detractors
NPS\text{NPS}
Net Promoter Score, from −100 to +100points

Excel: =100*(COUNTIF(C2:C517,">=9")-COUNTIF(C2:C517,"<=6"))/COUNT(C2:C517).

Standard error and margin of error of the NPS

SE=100pP+pD−(pP−pD)2n,margin=z∗×SE\text{SE} = 100\sqrt{\dfrac{p_P + p_D - (p_P - p_D)^2}{n}}, \qquad \text{margin} = z^* \times \text{SE}
pP, pDp_P,\ p_D
Shares of promoters and detractors
nn
Baserespondents
z∗z^*
Standard normal critical value: 1.96 for 95%
SE\text{SE}
Standard error of the NPSpoints

Assumes. A simple random sample (or one stratum of a stratified sample) large enough for the normal approximation.

This is the Wald interval. Rocks (2016) recommends adding 3/4 to the promoter and detractor counts and 3/2 to the passives first, which matters on small bases.

Comparing two independent scores

SEdiff=SE12+SE22,z=NPS1−NPS2SEdiff\text{SE}_{\text{diff}} = \sqrt{\text{SE}_1^2 + \text{SE}_2^2}, \qquad z = \dfrac{\text{NPS}_1 - \text{NPS}_2}{\text{SE}_{\text{diff}}}
SE1, SE2\text{SE}_1,\ \text{SE}_2
Standard errors of the two scorespoints
NPS1, NPS2\text{NPS}_1,\ \text{NPS}_2
The two scorespoints
zz
Test statistic, compared with the standard normal distribution

Assumes. The two groups are independent samples: two segments, or two waves of a survey with fresh samples.

The two-sided p-value is =2*(1-NORM.S.DIST(ABS(z),TRUE)).

Weighted share (or weighted mean)

yˉw=∑iwi yi∑iwi=∑hNh p^hN\bar{y}_w = \dfrac{\sum_i w_i\, y_i}{\sum_i w_i} = \dfrac{\sum_h N_h\, \hat{p}_h}{N}
wiw_i
Weight of respondent i: here N_h ÷ n_h for their segment
yiy_i
1 if respondent i counts (a promoter, a top-two answer), else 0; or a number, for a weighted mean
Nh, NN_h,\ N
Population in segment h, and in totalpeople
p^h\hat{p}_h
Share in segment h among its respondents
yˉw\bar{y}_w
Weighted share or mean

Assumes. The second form holds when every respondent in a segment has the same weight N_h ÷ n_h.

Excel: =SUMPRODUCT(I2:I517,Y2:Y517)/SUM(I2:I517) with the weights in I and the 0/1 values in Y, or a SUMPRODUCT of conditions as in In depth.

Worked examples

A first example: A garden centre’s Net Promoter Score

Fictional figures

Pindlebury Garden Centre asked 240 customers at the till how likely they were to recommend it, from 0 to 10. It counted 102 answers of 9 or 10, 84 of 7 or 8 and 54 of 6 or below. What is its NPS, and what is the 95% margin of error?

  1. Shares: promoters 102 ÷ 240 = 42.5%, passives 84 ÷ 240 = 35.0%, detractors 54 ÷ 240 = 22.5%. The three add to 100%, a check that every answer was classified once.
  2. NPS: 42.5 − 22.5 = +20.0. Passives don’t enter the subtraction, but they stay in the base of 240.
  3. Standard error: first 0.425+0.225−0.20020.425 + 0.225 - 0.200^2 =0.610= 0.610, then 1000.610÷240100\sqrt{0.610 \div 240} ≈5.04\approx 5.04 points.
  4. Margin at 95%: 1.96×5.04≈9.91.96 \times 5.04 \approx 9.9 points, so the interval runs from about +10.1 to +29.9.

Answer. NPS +20.0, with a 95% margin of error of about ±9.9 points (+10.1 to +29.9). Base: 240 customers.

What it means. The garden centre can say that more of its till customers are promoters than detractors, and fairly confidently so, but not much more precisely than “somewhere between +10 and +30”. Customers at the till on the survey days are also a convenience sample of the people who bought something, so the score describes them, not every customer.

A harder example: Cleaning and weighting a gym’s class survey

Fictional figures

Rookwell Fitness e-mailed a random sample of members at each of its three clubs, asking how likely they would be to attend a new 6 a.m. class at least once a week (definitely, probably, might or might not, probably not, definitely not), followed by a grid of ten satisfaction items, two of them reversed. It received 470 completes. Its rules, set before fieldwork: remove anyone who finished in under a third of the median time (the median was 7 minutes), or who gave the same answer to all ten grid items. Twelve were speeders and six straight-liners, three of them both. Estimate the share of all members in the top two boxes.

Rookwell Fitness: members, completes and answers by club (fictional)
ClubMembersCompletesRemovedKeptTop two boxes
City2,400189718254
Riverside1,500157515238
Hilltop600124312160
Total4,50047015455152
  1. Clean: a third of 7 minutes is 2 minutes 20 seconds. The two rules flag 12 + 6 − 3 = 15 people (the three flagged twice count once), leaving 455. A straight line through a grid with reversed items contradicts itself, so the evidence is strong; Rookwell reports “15 of 470 completes removed under the quality rules”.
  2. Unweighted: 152 ÷ 455 = 33.4% in the top two boxes. But Hilltop supplies 121 of the 455 (26.6%) while holding only 600 of the 4,500 members (13.3%), and Hilltop is the keenest club (60 of 121, 49.6%, against 29.7% at City and 25.0% at Riverside).
  3. Weight each club by members ÷ kept: City 2,400 ÷ 182 ≈ 13.19, Riverside 1,500 ÷ 152 ≈ 9.87, Hilltop 600 ÷ 121 ≈ 4.96. The weighted share is (2,400 × 29.67% + 1,500 × 25.00% + 600 × 49.59%) ÷ 4,500 ≈ 30.8%.
  4. Compare: is Hilltop really keener than City? 49.6% against 29.7% gives a two-proportion z of 3.50 (p ≈ 0.0005), so yes, beyond chance.

Answer. About 30.8% of members (weighted to club sizes; unweighted base 455 after removing 15 under the quality rules) say they would definitely or probably attend; Hilltop members are clearly keener than City members.

What it means. The unweighted 33.4% overstates interest because the keenest club answered out of proportion to its size. The gap between the two figures is small here, but the habit matters: the weighted figure, its base and the cleaning rule all go in the report. Interest is a stated intention, so a sensible next step is to run the class at Hilltop first and count who comes.

Applied: a business decision: Who would buy Lantern Cold Brew?

Fictional figures

Ana wants one paragraph for her March planning meeting: how many people on her list would buy Cold Brew, which segments, and how sure she can be. Use the cross-tab of Q2 by segment, B04’s tests and the weights.

  1. Describe with the right percentages: within each segment, the top-two-box share is 61.8% for subscribers (base 89), 55.3% for other shop customers (103), 51.9% for workshop participants (27) and 31.0% for newsletter-only respondents (297).
  2. Test: the full 4 × 5 table has an expected count of 2.56, so merge to top two against the rest; χ² = 37.7, 3 degrees of freedom, p < 0.0001, V = 0.27. Subscribers against newsletter-only: z = 5.25; other shop customers against newsletter-only: z = 4.41. Subscribers against other shop customers: z = 0.91, p = 0.37, not distinguishable.
  3. Apply the minimum base: workshop participants (27) fall below 30, so they get no figure of their own in the paragraph.
  4. Generalise: unweighted, 42.2% of completes are in the top two boxes; weighted to the list’s segment sizes, 38.2%. The weighted figure is the one to quote for the list as a whole, with its unweighted base of 516.

Answer. “Weighted to the list’s segment sizes, 38.2% of people on Lantern’s mailing list say they would definitely or probably buy Cold Brew in the next three months (unweighted base 516). Intent is far higher among Lantern’s shop customers and subscribers (55% and 62%) than among newsletter-only contacts (31%).”

What it means. The paragraph gives the figure, its base, its weighting and the one difference that is clearly real. It doesn’t say 38% will buy: these are stated intentions from people who answered a survey from Lantern, and the focus groups and the price audit must test why the newsletter-only contacts, the largest group on the list, are less keen.

Explore

All 516 completes as a worksheet, with each respondent’s weight in column I and a summary area in K to P. Build the frequency table, the NPS by segment and the weighted results with the formulas from In depth, and check your counts add to 516.

Loading the interactive…

The same completes as a PivotTable. Start with Segment in Rows and Cold Brew intent in Columns, shown as % of Row Total. Then try: Average of NPS points by segment (it is each segment’s NPS); Sum of Weight instead of Sum of Respondents, where the segment rows don’t move (everyone in a segment has the same weight) but the Grand Total row becomes the weighted result, 38.2% in the top two boxes; and % of Column Total, to see the other question the same counts answer.

Loading the interactive…

Change the counts of promoters, passives and detractors to see the NPS, its margin of error and Rocks’s adjusted interval. Try Ana’s workshop participants (16, 6 and 5) and then the same shares ten times larger, and watch the margin shrink by about √10.

Loading the interactive…

Common mistakes

  • “42% would buy” is a finding.

    Not until the reader knows 42% of whom and of how many. Print the base with every figure (“base: all completes, 516”), say whether it is weighted, and keep one base throughout a table or print each row’s.

  • “A cross-tab can be percentaged either way.”

    Both directions are arithmetic, but they answer different questions. To compare how groups answered, percentage within each category of the explanatory variable: 61.8% of subscribers against 31.0% of newsletter-only respondents. Reading the column view (38.3% of those who would definitely buy were newsletter-only) as that group’s rate is the error.

  • “An NPS of +27.5 means 27.5% would recommend Lantern.”

    It is the percentage of promoters minus the percentage of detractors: 45.9% − 18.4%. A score of 0 can mean half promoters and half detractors, or everyone a passive, so show the three shares beside it.

  • “Don’t know” can be stored as 0, or as 99, and averaged.

    0 is a real answer on a 0–10 scale, and AVERAGE treats 99 as a score. Give each kind of missing answer its own code, exclude the codes with AVERAGEIFS or a criterion such as "<99", and decide whether each base includes “don’t know”.

  • “Weighting removes non-response bias.”

    Weighting to segment sizes corrects only for segments replying at different rates. If, within a segment, the people who reply differ from those who don’t, as Lantern’s promoters did, the weighted figure is still biased, and nothing in the data shows by how much.

  • “Two segments differ because their figures differ.”

    Every segment’s figure has a margin of error that grows as its base shrinks. Subscribers’ 61.8% and other shop customers’ 55.3% can’t be told apart (p = 0.37), and 27 workshop participants give margins of ±19 to ±30 points. Test the comparisons that matter, and don’t report bases below your minimum.

Guided practice

Work through these with hints when you need them. Every hint and every worked solution is there to be used.

Loading four questions…

On your own

No hints this time. Answer, check, and read the feedback; the solution appears once you have answered or if you ask for it. Your first answers count toward mastery.

Loading six questions…

In practice

Fictional case

Tallyroot Software, a fictional firm selling accounts software to small businesses, surveys a fresh random sample of its customers every quarter. Its customer-insight manager, Saoirse Adeyemi, runs the analysis the same way each time, which is what lets the board compare one quarter with the next.

She writes the rules before fieldwork. Her data-processing specification sets out what counts as a complete, the speeder rule (under a third of the median time), the straight-lining rule for the eight-item satisfaction grid with its two reversed items, the code frame for open answers (with “no suggestion” kept apart from blanks), the weighting (to the customer base by plan) and the minimum base of 30 for any figure. Each quarter’s report says how many completes the rules removed.

Her tables put the explanatory variables across the top. Every question is cross-tabulated by plan, region and how long the customer has been with Tallyroot, with the base printed above each column and the figures percentaged down the columns. The rule is about the variable, not the direction: the groups being compared are the columns, so each column adds to 100%. Weighted figures carry unweighted bases, and any column with fewer than 30 completes is left blank with a note.

She tests the change before anyone celebrates it. This quarter’s NPS is +23.0 from 610 customers, against +18.0 from 640 last quarter, and a director wants to announce an improvement. The standard errors are 3.13 and 3.08 points, so the change of 5.0 points has a standard error of 4.39, z = 1.14 and p = 0.26: the 95% interval for the change runs from −3.6 to +13.6 points. Her summary reads: “NPS +23 (±6), against +18 (±6) last quarter: a change within what sampling alone produces. We can’t say that customers became more likely to recommend us.”

She keeps the score in its place. Beside the NPS she shows the three shares, the coded reasons and the cross-tabs, because the reasons are what the product team can act on. When the board proposed tying bonuses to the score, she pointed to Goodhart’s law: a target invites teams to chase the number, by surveying only happy customers for instance, and then it stops measuring what it was meant to.

Knowledge check

Six questions, one attempt each, no hints. Score 80% or more to complete the lesson; you can take it again at any time.

Loading six questions…

Summary

  • Prepare before you count: a rule for partial responses, speeders and straight-liners set before fieldwork, distinct codes for each kind of missing answer (never 0), and a code frame for open answers.
  • Every percentage has a base; print it, keep it consistent within a table, and give weighted figures with their unweighted base.
  • Build frequency tables with COUNTIF and cross-tabs with COUNTIFS or a PivotTable, and percentage within each category of the explanatory variable.
  • Top-box and top-two-box scores summarise a purchase-intent scale as shares of the base; they are stated intentions, not forecasts.
  • NPS = % promoters (9–10) − % detractors (0–6), from −100 to +100. SE = 100√((p_P + p_D − (p_P − p_D)²) ÷ n); compare two independent scores with √(SE₁² + SE₂²). Rocks (2016) recommends an adjusted interval, which matters most on small bases.
  • Weighted shares are SUMPRODUCT(weights, values) ÷ SUM(weights); weighting corrects for segments replying out of proportion, not for differences within a segment.
  • Compare groups with B04’s tests (merging categories when expected counts fall below 5), report the median for skewed counts, and set a minimum base, such as NCHS’s 30, before analysing.

Key formulas

Terms introduced

Base
The number of respondents a percentage or average is calculated on, such as all 516 completes or the 297 newsletter-only respondents. It is printed with the figure; a weighted figure is given with its unweighted base.
Frequency table
A table of the answers to one question, giving the count and the percentage of the base for each answer.
Cross-tabulation
A table counting respondents by their answers to two questions at once, usually shown with percentages calculated within each category of the explanatory variable. Also called a cross-tab.
Top-box score
The percentage of respondents choosing the most favourable answer on a rating or purchase-intent scale, such as “definitely would buy”.
Top-two-box score
The percentage of respondents choosing either of the two most favourable answers on a scale, such as “definitely” or “probably would buy”.
Speeder
A survey respondent who completes the questionnaire much faster than anyone could read it attentively, judged against a time threshold set in advance; a sign of answering with too little effort.
Straight-lining
Giving the same answer to every item in a grid of rating questions; strong evidence of inattention when the grid contains reversed items.
Code frame
The list of themes, each with a definition and examples, used to code open survey answers into categories that can be counted.

Sources

  1. Gomez Albrecht, M., Green, M. & Hoffman, L. (2023). Principles of Marketing, section 6.3, “Steps in a Successful Marketing Research Plan” (analysing and interpreting the data: frequencies, cross-tabulation, verbatims). OpenStax. openstax.org/books/principles-marketing/pages/6-3-steps-in-a…
  2. Bain & Company. “Measuring Your Net Promoter Score”: the question, the 0–10 scale, promoters, passives and detractors, and the calculation. nps.bain.com/about/measuring-your-net-promoter-score
  3. Reichheld, F. F. (2003). The one number you need to grow. Harvard Business Review, 81(12), 46–54. hbr.org/2003/12/the-one-number-you-need-to-grow
  4. Keiningham, T. L., Cooil, B., Andreassen, T. W. & Aksoy, L. (2007). A longitudinal examination of net promoter and firm revenue growth. Journal of Marketing, 71(3). doi:10.1509/jmkg.71.3.39. research.hub.ku.edu.tr/entities/publication/6c8605c0-154e-40…
  5. Rocks, B. (2016). Interval estimation for the “net promoter score”. The American Statistician, 70(4), 365–372. Preprint: arXiv:1601.07235. arxiv.org/abs/1601.07235v1
  6. Zhang, C. & Conrad, F. (2014). Speeding in web surveys: the tendency to answer very fast and its association with straightlining. Survey Research Methods, 8(2), 127–135. ojs.ub.uni-konstanz.de/srm/article/view/5453
  7. Parker, J. D., Talih, M., Malec, D. J. et al. (2017). National Center for Health Statistics Data Presentation Standards for Proportions. Vital and Health Statistics, Series 2, No. 175. stacks.cdc.gov/view/cdc/47786