Choose your reading route
eduKateSG · Why Mathematics? · Frisch–Waugh–Lovell Theorem: Partialling Out and Adjusted Slopes
Start with the question, audit the worked example, or jump to the assumptions and practice. Every chapter stays open for uninterrupted reading.
Understand the question
Define the quantity and follow the mechanism.Route 2 · Chapters 5–9
Reproduce the example
Audit the numbers one step at a time.Route 3 · Chapters 10–15
Check assumptions
See where design and calibration matter.Route 4 · Chapters 16–20
Explore applications
Connect the method to a concrete investigation.Route 5 · Chapters 21–35
Study and verify
Practise, inspect failure cases and read further.
Full chapter index · Practice and checking · Mathematics Learning Hub
Why is mathematics important when an adjusted regression coefficient needs a transparent meaning? The Frisch–Waugh–Lovell theorem says the coefficient on a target predictor in a multiple regression equals the slope obtained after removing the control-space component from both the outcome and that predictor.
Did You Know? Partial regression plots visualise the same residual-on-residual algebra, although causal meaning still requires a defensible design.
Full chapter index
Chapters 1–4 · Understand the question
Chapters 5–9 · Reproduce the example
Chapters 10–15 · Check assumptions
Chapters 16–20 · Explore applications
Chapters 21–35 · Study and verify
- A spreadsheet workflow
- A coding workflow
- Applications and careers
- A student investigation
- Common misconceptions
- Connection to recent mathematics articles
- Guidance for students and parents
- Practice questions
- Frequently asked questions
- A reporting checklist
- Why the coefficient equality works
- Reading a partial-regression plot
- Control choice changes the question
- Final adjusted-slope audit
- Useful next reading
Multiple regression asks how the outcome varies with a target predictor after linearly accounting for specified controls.
Oxford states that regressing residualised y on residualised target x gives the same target coefficient as the full OLS regression. Read the Oxford notes.
Regress the target predictor on controls and keep residual r_x, the target variation not linearly represented by controls.
| rx | ry |
|---|---|
| -1 | -2 |
| 0 | 0 |
| 1 | 2 |
Regress the outcome on the same controls and keep residual r_y, the outcome variation not linearly represented by controls.
| Sum rx*ry | Sum rx squared | Slope |
|---|---|---|
| 4 | 2 | 2 |
Regress r_y on r_x. The slope equals the target coefficient from the full regression.
If r_x=[−1,0,1] and r_y=[−2,0,2], the slope is sum(r_x r_y)/sum(r_x²)=4/2=2.
With control matrix Z, M_Z=I−Z(Z^T Z)^−1Z^T removes the Z projection. The coefficient uses x^T M_Z y divided by x^T M_Z x.
The theorem isolates linear variation orthogonal to controls. It does not physically remove people, mechanisms or causal pathways.
Both residualisations must use the identical sample, intercept convention and control specification.
Plotting r_y against r_x shows the adjusted slope and can reveal influence, nonlinearity and unusual cases.
If controls explain nearly all target variation, r_x has little spread and the adjusted slope becomes imprecise.
Adding a mediator, collider or post-treatment variable can change the estimand and introduce bias. Algebra alone cannot choose controls.
Interactions, splines and transformations must be included consistently in the control space for the intended coefficient interpretation.
Weighted and fixed-effects versions use the corresponding projection geometry. The simple ordinary residualisation formula must match the estimator.
The coefficient equality does not mean a naive final regression always gives the correct standard error unless the full procedure and degrees of freedom are handled properly.
List why each control is included, its timing and whether it could be affected by the target. Distinguish prediction controls from causal adjustment variables.
To compare study time with marks after adjusting for prior attainment, residualise both on prior attainment and inspect the remaining linear association.
State that the adjusted coefficient equals the relationship between residualised target and residualised outcome under the specified linear model.
The theorem does not prove causal identification, fix measurement error, create overlap or protect against omitted nonlinear structure.
Students can use the theorem to connect projections, residuals, multiple regression and the idea of “holding controls fixed”.
Fit both residualisation models, verify residual-control orthogonality, compute the residual slope and compare with the full-model coefficient. Keep every matrix dimension, unit and intermediate quantity visible, then verify the defining identity.
Use tested linear-algebra routines, save the design and model formula, check rank and conditioning, and test against a hand-worked example.
FWL supports econometrics, policy research, experimental analysis, machine learning and fixed-effects modelling.
Residualise a simulated outcome and predictor on one control, then compare with the full regression.
Partialling out is a linear algebra identity, not automatic causal control or a licence to select covariates after seeing results.
The partial regression plot guide shows the graph. The normal-equations guide explains projection.
Students should write both residualisation equations. Parents can ask what the controls mean and when they were measured.
- Recompute the example.
- Explain weak residual x variation.
- Identify a harmful control.
### Are coefficients exactly equal? Yes under matched OLS setup.
### Are standard errors automatically equal? Not from every shortcut.
### Does it prove causation? No.
Report the target, model, data unit, assumptions, calculation, diagnostics, validation and practical threshold. Separate descriptive evidence from causal interpretation.
The residual maker M_Z removes every component in the control space. Because r_x=M_Zx is orthogonal to Z, multiplying the full normal equations by r_x isolates the target coefficient: r_x^Ty=beta_hat r_x^Tx. Replacing y with M_Zy leaves the numerator unchanged, giving the residual-on-residual slope. The equality is exact algebra for matched OLS specifications, not an approximation.
Each point represents what remains of the target predictor and outcome after their separate linear projections on controls. The fitted slope is the adjusted coefficient. Large horizontal residuals identify observations with unusual target values relative to controls; large vertical residuals show unusual outcomes. One influential point can dominate both. Label the plot as adjusted association rather than causal effect.
Controls are not neutral decorations. Adjusting for prior attainment asks about study time among students with similar modelled prior attainment. Adding motivation, if measured after an intervention, may block part of the effect or introduce selection. State timing and purpose for every control, and use causal knowledge before algebra when the goal is causal interpretation.
Confirm that both residualisations used identical observations, weights, controls and transformations. Check that r_x retains meaningful variation and that the residual-on-residual slope matches the full model. Then describe the coefficient as conditional on the stated linear control space. If causal language is desired, add the design assumptions separately rather than treating the theorem as identification.
Continue through the Mathematics Learning Hub and reproduce the worked example before using software.
Extended practice laboratory
Practice case 1: Choose target
Setup: Start from the article’s FWL worked example for case 1. Task: Change the named quantity, recompute dependent values and compare with the original.
Check: Check the defining identity, preserve units and state one diagnostic or validation step before interpretation. Show the arithmetic, name the response and predictor units, and separate the numerical result from the claim it supports. Then vary one defensible assumption, calculate again and explain whether the conclusion changed because of the data, the fitted model or the validation purpose. Finish with one compact table or graph that could reveal a failure hidden by the summary.
Practice case 2: Choose controls
Setup: Start from the article’s FWL worked example for case 2. Task: Change the named quantity, recompute dependent values and compare with the original.
Check: Check the defining identity, preserve units and state one diagnostic or validation step before interpretation. Show the arithmetic, name the response and predictor units, and separate the numerical result from the claim it supports. Then vary one defensible assumption, calculate again and explain whether the conclusion changed because of the data, the fitted model or the validation purpose. Finish with one compact table or graph that could reveal a failure hidden by the summary.
Practice case 3: Fit target controls
Setup: Start from the article’s FWL worked example for case 3. Task: Change the named quantity, recompute dependent values and compare with the original.
Check: Check the defining identity, preserve units and state one diagnostic or validation step before interpretation. Show the arithmetic, name the response and predictor units, and separate the numerical result from the claim it supports. Then vary one defensible assumption, calculate again and explain whether the conclusion changed because of the data, the fitted model or the validation purpose. Finish with one compact table or graph that could reveal a failure hidden by the summary.
Practice case 4: Save rx
Setup: Start from the article’s FWL worked example for case 4. Task: Change the named quantity, recompute dependent values and compare with the original.
Check: Check the defining identity, preserve units and state one diagnostic or validation step before interpretation. Show the arithmetic, name the response and predictor units, and separate the numerical result from the claim it supports. Then vary one defensible assumption, calculate again and explain whether the conclusion changed because of the data, the fitted model or the validation purpose. Finish with one compact table or graph that could reveal a failure hidden by the summary.
Practice case 5: Fit outcome controls
Setup: Start from the article’s FWL worked example for case 5. Task: Change the named quantity, recompute dependent values and compare with the original.
Check: Check the defining identity, preserve units and state one diagnostic or validation step before interpretation. Show the arithmetic, name the response and predictor units, and separate the numerical result from the claim it supports. Then vary one defensible assumption, calculate again and explain whether the conclusion changed because of the data, the fitted model or the validation purpose. Finish with one compact table or graph that could reveal a failure hidden by the summary.
Practice case 6: Save ry
Setup: Start from the article’s FWL worked example for case 6. Task: Change the named quantity, recompute dependent values and compare with the original.
Check: Check the defining identity, preserve units and state one diagnostic or validation step before interpretation. Show the arithmetic, name the response and predictor units, and separate the numerical result from the claim it supports. Then vary one defensible assumption, calculate again and explain whether the conclusion changed because of the data, the fitted model or the validation purpose. Finish with one compact table or graph that could reveal a failure hidden by the summary.
Practice case 7: Regress ry on rx
Setup: Start from the article’s FWL worked example for case 7. Task: Change the named quantity, recompute dependent values and compare with the original.
Check: Check the defining identity, preserve units and state one diagnostic or validation step before interpretation. Show the arithmetic, name the response and predictor units, and separate the numerical result from the claim it supports. Then vary one defensible assumption, calculate again and explain whether the conclusion changed because of the data, the fitted model or the validation purpose. Finish with one compact table or graph that could reveal a failure hidden by the summary.
Practice case 8: Compare full coefficient
Setup: Start from the article’s FWL worked example for case 8. Task: Change the named quantity, recompute dependent values and compare with the original.
Check: Check the defining identity, preserve units and state one diagnostic or validation step before interpretation. Show the arithmetic, name the response and predictor units, and separate the numerical result from the claim it supports. Then vary one defensible assumption, calculate again and explain whether the conclusion changed because of the data, the fitted model or the validation purpose. Finish with one compact table or graph that could reveal a failure hidden by the summary.
Practice case 9: Check same rows
Setup: Start from the article’s FWL worked example for case 9. Task: Change the named quantity, recompute dependent values and compare with the original.
Check: Check the defining identity, preserve units and state one diagnostic or validation step before interpretation. Show the arithmetic, name the response and predictor units, and separate the numerical result from the claim it supports. Then vary one defensible assumption, calculate again and explain whether the conclusion changed because of the data, the fitted model or the validation purpose. Finish with one compact table or graph that could reveal a failure hidden by the summary.
Practice case 10: Check intercept
Setup: Start from the article’s FWL worked example for case 10. Task: Change the named quantity, recompute dependent values and compare with the original.
Check: Check the defining identity, preserve units and state one diagnostic or validation step before interpretation. Show the arithmetic, name the response and predictor units, and separate the numerical result from the claim it supports. Then vary one defensible assumption, calculate again and explain whether the conclusion changed because of the data, the fitted model or the validation purpose. Finish with one compact table or graph that could reveal a failure hidden by the summary.
Practice case 11: Inspect rx spread
Setup: Start from the article’s FWL worked example for case 11. Task: Change the named quantity, recompute dependent values and compare with the original.
Check: Check the defining identity, preserve units and state one diagnostic or validation step before interpretation. Show the arithmetic, name the response and predictor units, and separate the numerical result from the claim it supports. Then vary one defensible assumption, calculate again and explain whether the conclusion changed because of the data, the fitted model or the validation purpose. Finish with one compact table or graph that could reveal a failure hidden by the summary.
Practice case 12: Inspect plot
Setup: Start from the article’s FWL worked example for case 12. Task: Change the named quantity, recompute dependent values and compare with the original.
Check: Check the defining identity, preserve units and state one diagnostic or validation step before interpretation. Show the arithmetic, name the response and predictor units, and separate the numerical result from the claim it supports. Then vary one defensible assumption, calculate again and explain whether the conclusion changed because of the data, the fitted model or the validation purpose. Finish with one compact table or graph that could reveal a failure hidden by the summary.
Practice case 13: Add control
Setup: Start from the article’s FWL worked example for case 13. Task: Change the named quantity, recompute dependent values and compare with the original.
Check: Check the defining identity, preserve units and state one diagnostic or validation step before interpretation. Show the arithmetic, name the response and predictor units, and separate the numerical result from the claim it supports. Then vary one defensible assumption, calculate again and explain whether the conclusion changed because of the data, the fitted model or the validation purpose. Finish with one compact table or graph that could reveal a failure hidden by the summary.
Practice case 14: Remove control
Setup: Start from the article’s FWL worked example for case 14. Task: Change the named quantity, recompute dependent values and compare with the original.
Check: Check the defining identity, preserve units and state one diagnostic or validation step before interpretation. Show the arithmetic, name the response and predictor units, and separate the numerical result from the claim it supports. Then vary one defensible assumption, calculate again and explain whether the conclusion changed because of the data, the fitted model or the validation purpose. Finish with one compact table or graph that could reveal a failure hidden by the summary.
Practice case 15: Add interaction
Setup: Start from the article’s FWL worked example for case 15. Task: Change the named quantity, recompute dependent values and compare with the original.
Check: Check the defining identity, preserve units and state one diagnostic or validation step before interpretation. Show the arithmetic, name the response and predictor units, and separate the numerical result from the claim it supports. Then vary one defensible assumption, calculate again and explain whether the conclusion changed because of the data, the fitted model or the validation purpose. Finish with one compact table or graph that could reveal a failure hidden by the summary.
Practice case 16: Check collinearity
Setup: Start from the article’s FWL worked example for case 16. Task: Change the named quantity, recompute dependent values and compare with the original.
Check: Check the defining identity, preserve units and state one diagnostic or validation step before interpretation. Show the arithmetic, name the response and predictor units, and separate the numerical result from the claim it supports. Then vary one defensible assumption, calculate again and explain whether the conclusion changed because of the data, the fitted model or the validation purpose. Finish with one compact table or graph that could reveal a failure hidden by the summary.
Practice case 17: Check influence
Setup: Start from the article’s FWL worked example for case 17. Task: Change the named quantity, recompute dependent values and compare with the original.
Check: Check the defining identity, preserve units and state one diagnostic or validation step before interpretation. Show the arithmetic, name the response and predictor units, and separate the numerical result from the claim it supports. Then vary one defensible assumption, calculate again and explain whether the conclusion changed because of the data, the fitted model or the validation purpose. Finish with one compact table or graph that could reveal a failure hidden by the summary.
Practice case 18: Check standard error
Setup: Start from the article’s FWL worked example for case 18. Task: Change the named quantity, recompute dependent values and compare with the original.
Check: Check the defining identity, preserve units and state one diagnostic or validation step before interpretation. Show the arithmetic, name the response and predictor units, and separate the numerical result from the claim it supports. Then vary one defensible assumption, calculate again and explain whether the conclusion changed because of the data, the fitted model or the validation purpose. Finish with one compact table or graph that could reveal a failure hidden by the summary.
Practice case 19: Use weights
Setup: Start from the article’s FWL worked example for case 19. Task: Change the named quantity, recompute dependent values and compare with the original.
Check: Check the defining identity, preserve units and state one diagnostic or validation step before interpretation. Show the arithmetic, name the response and predictor units, and separate the numerical result from the claim it supports. Then vary one defensible assumption, calculate again and explain whether the conclusion changed because of the data, the fitted model or the validation purpose. Finish with one compact table or graph that could reveal a failure hidden by the summary.
Practice case 20: Add fixed effects
Setup: Start from the article’s FWL worked example for case 20. Task: Change the named quantity, recompute dependent values and compare with the original.
Check: Check the defining identity, preserve units and state one diagnostic or validation step before interpretation. Show the arithmetic, name the response and predictor units, and separate the numerical result from the claim it supports. Then vary one defensible assumption, calculate again and explain whether the conclusion changed because of the data, the fitted model or the validation purpose. Finish with one compact table or graph that could reveal a failure hidden by the summary.
Practice case 21: Audit timing
Setup: Start from the article’s FWL worked example for case 21. Task: Change the named quantity, recompute dependent values and compare with the original.
Check: Check the defining identity, preserve units and state one diagnostic or validation step before interpretation. Show the arithmetic, name the response and predictor units, and separate the numerical result from the claim it supports. Then vary one defensible assumption, calculate again and explain whether the conclusion changed because of the data, the fitted model or the validation purpose. Finish with one compact table or graph that could reveal a failure hidden by the summary.
Practice case 22: Reject causal claim
Setup: Start from the article’s FWL worked example for case 22. Task: Change the named quantity, recompute dependent values and compare with the original.
Check: Check the defining identity, preserve units and state one diagnostic or validation step before interpretation. Show the arithmetic, name the response and predictor units, and separate the numerical result from the claim it supports. Then vary one defensible assumption, calculate again and explain whether the conclusion changed because of the data, the fitted model or the validation purpose. Finish with one compact table or graph that could reveal a failure hidden by the summary.
Practice case 23: Reject physical removal
Setup: Start from the article’s FWL worked example for case 23. Task: Change the named quantity, recompute dependent values and compare with the original.
Check: Check the defining identity, preserve units and state one diagnostic or validation step before interpretation. Show the arithmetic, name the response and predictor units, and separate the numerical result from the claim it supports. Then vary one defensible assumption, calculate again and explain whether the conclusion changed because of the data, the fitted model or the validation purpose. Finish with one compact table or graph that could reveal a failure hidden by the summary.
Practice case 24: Report controls
Setup: Start from the article’s FWL worked example for case 24. Task: Change the named quantity, recompute dependent values and compare with the original.
Check: Check the defining identity, preserve units and state one diagnostic or validation step before interpretation. Show the arithmetic, name the response and predictor units, and separate the numerical result from the claim it supports. Then vary one defensible assumption, calculate again and explain whether the conclusion changed because of the data, the fitted model or the validation purpose. Finish with one compact table or graph that could reveal a failure hidden by the summary.
Practice case 25: Write conclusion
Setup: Start from the article’s FWL worked example for case 25. Task: Change the named quantity, recompute dependent values and compare with the original.
Check: Check the defining identity, preserve units and state one diagnostic or validation step before interpretation. Show the arithmetic, name the response and predictor units, and separate the numerical result from the claim it supports. Then vary one defensible assumption, calculate again and explain whether the conclusion changed because of the data, the fitted model or the validation purpose. Finish with one compact table or graph that could reveal a failure hidden by the summary.