# Factor analysis: surveys and NPS drivers

> Finding the few hidden themes behind many survey questions.

- Course: [Statistics for Product Managers and Marketers](https://productovi.com/courses/statistics-for-pm-and-marketers.md)
- Module: Modelling and segmentation
- Lesson 23/24, ~40 min
- Source: https://productovi.com/courses/statistics-for-pm-and-marketers/factor-analysis

## Twenty answers, a few real themes

**Alex Tutor:** Survey season at CatChow: the product team has the NPS follow-up results, and the board summary is yours to prepare.

**Sofia:** The NPS follow-up survey has 20 questions. I was about to report 20 separate averages to the board.

**Alex Tutor:** Please don't. Many of those questions are probably just echoing the same few underlying attitudes. We can find those attitudes with *factor analysis*.

**Sofia:** Underlying attitudes? Like reading minds?

**Alex Tutor:** Almost as good. If 'I trust this brand' and 'I'd recommend it' always move together, there's probably one hidden trait — say, *brand loyalty* — driving both.

![A hidden hand behind a curtain moves one control bar, and three cat puppets on its strings raise their paws together.](https://productovi.com/courses/statistics-for-pm-and-marketers/inline/factor-analysis-illustration-2.webp)

*You only see the answers moving together; the factor is the hidden hand moving them.*

> **Latent factor**
>
> An unobserved trait inferred from correlated indicators — you never measure it directly, only the survey answers that move together because of it.

**Alex Tutor:** Factor analysis starts by computing the correlation matrix between every pair of your 20 questions.

**Correlations between four survey items**

| Question pair | Correlation |
| --- | --- |
| Q1-Q2 | 0.8 |
| Q3-Q4 | 0.75 |
| Q1-Q3 | 0.2 |
| Q1-Q4 | 0.15 |
| Q2-Q3 | 0.25 |
| Q2-Q4 | 0.2 |

*Q1 'recommend' and Q2 'trust the brand' correlate strongly with each other; Q3 'delivery speed' and Q4 'packaging' correlate strongly with each other. The cross-pairs barely correlate at all — two clear blocks.*

**Sofia:** So Q1 and Q2 are basically the same question in disguise?

**Alex Tutor:** Not identical, but driven by the same hidden factor. Q3 and Q4 form a second block — probably an 'operations' factor, unrelated to loyalty.

> **Exercise:** Q1 'recommend to a friend' and Q2 'trust the brand' correlate at 0.8; both correlate under 0.25 with Q3 'delivery speed' and Q4 'packaging'. What does this pattern suggest?

## Loadings and eigenvalues

**Alex Tutor:** Once factors are extracted, each item gets a *factor loading* per factor — the correlation between that item and the factor.

**Sofia:** So a loading close to 1 means the item basically *is* the factor?

**Alex Tutor:** Right. Sum the squared loadings of a factor across all items, and you get its *eigenvalue* — how much total variance that factor explains.

$$
\lambda_j = \sum_i a_{ij}^2
$$

*Eigenvalue of factor j: the sum of its squared loadings a across all items i.*

**Sofia:** Give me real numbers, not letters with subscripts.

**Alex Tutor:** Say one factor's loadings on our four items are 0.8, 0.8, 0.1, 0.1. Square and sum them, and you have the eigenvalue.

> **Exercise:** A factor's loadings on four survey items are 0.8, 0.8, 0.1 and 0.1. What is this factor's eigenvalue (the sum of its squared loadings)?

**Alex Tutor:** Before we move on, one reading trap. Loadings end up in board slides, and they often get misread.

> **Exercise:** Q3 "delivery speed" has a loading of 0.75 on Factor 2. Which reading for the board summary is **correct**?

## Rotation and dropping weak factors

**Alex Tutor:** Raw factors are often messy — every item loads a little on every factor. *Rotation* sharpens the picture: big loadings grow, small ones shrink.

![A cat turns a dial on a crosshair viewer so its two orange axes swing round to line up with two clumps of dots.](https://productovi.com/courses/statistics-for-pm-and-marketers/inline/factor-analysis-illustration-3.webp)

*Rotation moves the axes, not the data, so each group of questions lines up with one factor.*

**Sofia:** Doesn't that just make the numbers prettier without changing anything real?

**Alex Tutor:** It changes the axes, not the data. *Orthogonal* rotation keeps the new factors uncorrelated; *oblique* rotation allows them to correlate, if that fits reality better.

**Alex Tutor:** After rotation, we drop weak factors. The *Kaiser criterion* keeps only factors with eigenvalue ≥ 1.

**Scree plot: four factors, four eigenvalues**

| Factor number | Eigenvalue |
| --- | --- |
| 1 | 2.1 |
| 2 | 1.3 |
| 3 | 0.5 |
| 4 | 0.1 |

*Eigenvalues 2.1, 1.3, 0.5 and 0.1 sum to 4.0 — the total variance of 4 standardised items. The elbow after factor 2 marks where real signal ends.*

**Sofia:** So the scree plot and the Kaiser rule are two ways to answer the same question?

**Alex Tutor:** Exactly — 'how many factors are real'. They usually agree; when they don't, that's worth investigating rather than picking whichever gives more factors.

> **Exercise:** Four factors have eigenvalues 2.1, 1.3, 0.5 and 0.1. Under the Kaiser criterion (keep eigenvalue ≥ 1), how many factors are retained?

**Alex Tutor:** Two factors survive. How much of the survey do they actually capture?

> **Exercise:** Four standardised survey items have a total variance of 4. The two factors you keep have eigenvalues 2.1 and 1.3. What percentage of the total variance do they explain together?

## Naming and using the factors

**Alex Tutor:** Last step: naming the surviving factors. Look at which items load heavily on each, and describe the theme they share.

**Sofia:** That sounds like the part where I make something up.

**Alex Tutor:** It's informed naming, not guessing — grounded in exactly which items loaded highly. It just isn't purely mechanical like the earlier steps.

![A cat pins a blank orange tag onto one of two baskets of sorted survey cards, one with heart cards, one with delivery-box cards.](https://productovi.com/courses/statistics-for-pm-and-marketers/inline/factor-analysis-illustration-4.webp)

*A factor's name comes from what its strongest questions share.*

**Sofia:** Fair enough. Let's see if I can name one correctly.

> **Exercise:** After rotation, Q1 'recommend' and Q2 'trust the brand' load heavily on Factor 1, while Q3 'delivery speed' and Q4 'packaging' load heavily on Factor 2. What would you name Factor 1?

**Alex Tutor:** Factor analysis earns its keep in two more places besides surveys: cutting down a huge variable list, and fixing multicollinearity before a regression.

**Sofia:** Multicollinearity — that's when predictors correlate with each other and break the regression, right?

**Alex Tutor:** Right. Replace the correlated predictors with one factor score, and the regression becomes stable again.

**Sofia:** So it's a fixer for other analyses, not just an end in itself.

> **Exercise:** Factor analysis can help fix multicollinearity in a regression by replacing several correlated predictors with one factor.

## Wrapping up

**Alex Tutor:** So: correlation matrix, extract factors, rotate, drop the weak ones, name what's left. Same recipe every time.

**Sofia:** Feels mechanical enough that I could almost script it.

**Alex Tutor:** Good — because the order matters. Try laying the steps out yourself.

**Sofia:** Challenge accepted.

> **Exercise:** Put the steps of a factor analysis in the right order.

**Alex Tutor:** Beyond surveys, remember factor analysis has two other jobs: shrinking a huge variable list, and rescuing a regression from multicollinearity.

**Sofia:** So it's not just a survey tool — people misuse it for that all the time, right?

**Alex Tutor:** Sometimes the opposite: people run it correctly but for the wrong reason, like hoping it'll force disagreeing respondents to agree.

**Sofia:** That would be nice, honestly.

> **Exercise:** Which of these are legitimate reasons to run factor analysis on CatChow's 20-question NPS follow-up survey? Select all that apply.

## Explaining and applying it

**Alex Tutor:** Good instinct on the legitimate reasons. Now put it in your own words — imagine explaining this to someone who'd rather just average all 20 questions.

**Sofia:** Ah, the 'why can't we just take the average' question. I get that one a lot.

**Alex Tutor:** Perfect practice, then.

**Sofia:** Give me a second to word this properly.

> **Exercise:** In 2–3 sentences, explain why CatChow should run factor analysis on a 20-item NPS follow-up survey instead of just reporting each question's average score separately.

**Alex Tutor:** Nicely put. One more, trickier situation: a team got 5 factors instead of 2 and wants to present all of them.

**Sofia:** Five drivers of loyalty sounds impressive on a slide, though.

**Alex Tutor:** Impressive and correct aren't the same thing. Let's see why.

**Sofia:** Okay, lay out the numbers for me.

> **Exercise:** Write your recommendation for the survey team.

**Alex Tutor:** That's factor analysis. Last lesson of the module: tying every method in the course together into one decision guide.

- Previous lesson: [Clustering for customer segmentation](https://productovi.com/courses/statistics-for-pm-and-marketers/clustering.md)
- Next lesson: [Course recap: choosing the right test](https://productovi.com/courses/statistics-for-pm-and-marketers/choosing-the-right-test.md)

---
Productovi Learning. Free, no sign-up needed to read.
