Statistics 1
Deep Dive: Measures of Location and Dispersion
CODEX Deep-Dive — Measures of Location and Dispersion: Mean, Coding, and Standard Deviation (WST01, spec 2.2/2.3)
Provenance (2026-09-29): Read/checked for this document — research/veridian/WST01-verified-facts.md in full, grepped specifically for "measures of location", "dispersion", "quartile", "interpolation", "percentile", "standard deviation", "variance", "coding", "mean", "median", "mode" and "skew" (§1 spec table of contents, §2a formula-booklet contents, §5 Section 2's full trap catalogue, §6 the "show that" cross-cutting note, §7 topic-richness ranking, §8 flagged issues, and the dedicated 2026-09-12 per-lesson audit entry for measures-of-location-and-dispersion.ts); the live lesson file content/veridian/curriculum/wst01/measures-of-location-and-dispersion.ts in full; the three existing WST01 technique-hub documents in this folder (codex-formula-and-method-bank.md, forge-exam-technique-guide.md, signal-frequency-and-boundaries.md), each grepped for this topic; content/veridian/question-bank/wst01.ts (grepped — the one item that surfaces is a box-plot/outlier recalculation question that belongs to spec 2.1/2.4, not this lesson's own 2.2/2.3 territory, so no direct duplicate exists there yet); and, for boundary-checking only, outliers-boxplots-comparing-distributions.ts and reading-and-comparing-distributions.ts (grepped for "median", "skew" and "interpolat" to confirm exactly which adjacent content those two sibling lessons already own, so this document doesn't re-teach it under a different name). No new PDF fetches, web searches, or primary-source downloads were performed for this document — every specific factual claim below traces to one of those already-verified sources, cited by name and, wherever the source allows it, by series and question number. All arithmetic in every micro-example below was computed independently with exact-fraction arithmetic (Python's fractions.Fraction) and cross-checked by a second method (the computational variance formula against the definitional Σf(x−x̄)² form) before being written in.
Scope — what this adds, and what it deliberately does not repeat
The live lesson already derives the coding-variance-squares-the-constant result twice (a plain-language concept-ladder and a full formal proof), works a complete real-anchored coding chain (assumed mean 255, scale factor 0.5), works a full marked-solution on mean/SD/interpolation for a 60-package grouped-masses table with two distinct malformed-SD-formula wrong paths, works a combining-two-groups chain-drill built on a real quoted standard deviation of 2, and carries ten trap-taxonomy items and five MCQs covering practically every confirmed error this topic has produced. codex-formula-and-method-bank.md already tabulates every relevant formula with its memorise/given/technique status. signal-frequency-and-boundaries.md already gives this section's series-count ranking. None of that is reproduced here.
This document instead does four things the existing material doesn't: (1) states the underlying arithmetic formally, including deriving the computational variance formula from its definitional one — asserted as equivalent everywhere else in this repo, but never actually proved; (2) covers real, distinct data-shape sub-cases the spec explicitly allows (a bare list with no table at all; a discrete frequency table with no midpoint assumption; a grouped table with unequal class widths) that the live lesson's own single running example — a grouped table with every class the same width — doesn't exercise; (3) extends the already-confirmed interpolation machinery to two things spec 2.2/2.3 names but no existing WST01 file computes: the median of a grouped table by interpolation rather than by rank, and an interpercentile range wider than the IQR; (4) assembles every real exam angle this specific topic has actually been tested from into one synthesis, with an honest count of exactly how many of the fully-read examiner-report series confirm it.
1. The formal model
1.1 Mean — three data shapes, one idea. For a bare list of values, . The moment the data arrives as a frequency table, each value carries a count , so the sum becomes and the denominator (the total count of data values, whatever number of rows that total is split across): . For a grouped table, no exact value is known for any single data point inside a class — only which class it fell into — so the class midpoint stands in for every value in that class, on the explicit modelling assumption (spec 1.1's own territory) that values are spread evenly enough across the class for its centre to represent it fairly. Median and mode, the other two named statistics under spec 2.2, are defined here for completeness rather than left implicit: the median is the middle value by rank once the data is ordered (position for a plain list); the mode is simply the most frequently occurring value, or the modal class for grouped data. Both are named in the spec's own list; §4 below states plainly why neither gets a dedicated exam-trap treatment in this document, the way mean/SD/interpolation do.
1.2 Variance — deriving the computational form from the definitional one. The live lesson states both forms of variance as "algebraically identical" without deriving the link; that derivation is short, real, and worth having explicitly. Starting from the definitional form and expanding the square:
Since , the middle term is , which combines with the last term to give . So , and dividing both sides by :
This is a standard algebraic identity, not itself a claim sourced to any exam board — it is included because the live lesson asserts the equivalence but never shows why it holds, and a student who can rebuild the computational formula from the definitional one on demand is protected against exactly the kind of memory slip the malformed-SD-formula trap (§3 below) is built from.
1.3 Coding, and one boundary case worth naming. The live lesson's own concept-ladder already proves formally — not repeated here. One boundary case is worth naming explicitly because it's easy to lose sight of inside the general rule: if the coding scale factor (a pure shift, , no rescaling at all), then exactly — sliding every value by the same constant changes nothing about how spread out they are. This is the special case of the general squared-constant rule, not an exception to it, and it's a useful self-check: if a coding scheme ever turns out to be additive-only, the variance step should need no correction at all.
1.4 Interpolation as one formula, three named statistics. The live lesson's own mechanism block already writes the interpolation formula generically, , without restricting "position" to a quartile's own or . That genericness is the real point spec 2.3 is making by naming "range and interpercentile ranges" (plural, unqualified) rather than "the IQR" specifically: the same interpolation machinery that locates and locates any percentile, by setting position (or , under the same tolerated-either-convention rule already confirmed for quartiles) for the -th percentile. The median itself is nothing but the special case — position — of this identical formula. §2.4 and §2.5 below compute both of these genuinely, because neither appears worked anywhere else in this repo's WST01 material.
2. Real, distinct sub-cases, each with a short micro-example
2.1 Mean and SD from a bare list — no table at all. Spec 2.2's own guidance states plainly that data "may be discrete, continuous, grouped or ungrouped," and the plain-list case is the one the live lesson never actually computes (it moves straight to frequency and grouped tables). Five values: . , . . Computational form: . Cross-checked against the definitional form directly: deviations , squares , sum , — the two forms agree exactly, as §1.2's derivation guarantees they must. (3 s.f.).
2.2 Mean and SD from a discrete (ungrouped) frequency table. A genuinely different case from a grouped table: the values themselves are exact (no midpoint assumption is needed), only their counts are compressed into a table. Twenty students' number of siblings: with (). , . , ; cross-checked definitionally (weighted squared deviations sum to , — matches exactly). .
2.3 The mean-from-a-table trap, generalised to unequal class widths. The live lesson's own trap-taxonomy makes a precise, narrow claim about its wrong-shortcut error (using in place of ): for a table where every class shares the same width, that wrong shortcut always collapses to exactly that one constant width, "no matter what the actual frequencies are" — a mathematical fact, and a self-evident giveaway once spotted. Real grouped WST01 tables are not required to have equal widths, and the unequal-width case is genuinely worse: a mass table with classes – (), – (), – () has , correct mean ; the wrong shortcut gives — a number that does not equal any single class width, sits comfortably inside the data's own – range, and so passes a plausibility check that would catch an out-of-range answer. This variant of the trap is not itself separately confirmed in the reviewed examiner-report archive as a distinct tested angle — it is this document's own extension of the confirmed equal-width finding, flagged as such — but it demonstrates the underlying mechanism (mixing up a class's width with its midpoint) more starkly than the equal-width case can, precisely because the wrong number no longer advertises itself as suspicious.
2.4 The median of a grouped table, by interpolation, not by rank. Spec 2.2 lists the median among the location statistics a lesson must be able to calculate for data that "may be... grouped," yet every WST01 median treatment already in this repo (reading-and-comparing-distributions.ts, outliers-boxplots-comparing-distributions.ts) teaches the rank-based median — the -th ordered value — for raw or stem-and-leaf data, never the interpolated median of a genuinely grouped table. That's a real, spec-implied sub-case with no worked example anywhere yet. Exam-mark grouped table: classes –, –, –, –, – with (); cumulative frequencies . Median position , which falls inside the – class ( before it, within it, ): median (3 s.f.). Using the alternative convention (same class): exactly — a genuinely different final value from the same data, extending the live lesson's own confirmed -vs- finding to a second statistic beyond the quartiles it was originally confirmed for. No worked example testing this exact combination (grouped median specifically, by interpolation) was found in the reviewed archive — flagged honestly in §4, not presented as confirmed exam content, only as a genuine and previously unworked application of an already-confirmed method.
2.5 Interpercentile ranges beyond the IQR. Spec 2.3's own wording names "range and interpercentile ranges" as the dispersion statistics, and every worked WST01 example located in the reviewed archive computes the IQR ( to ) specifically and nothing wider. A fresh grouped table — ages, classes –––, (); cumulative — gives the th and th percentiles by the identical interpolation formula: position for is , which falls in the – class (, , ): . Position for is , falling in the – class (, , ): (3 s.f.). The – interpercentile range is (3 s.f.). This is the direct generalisation of the confirmed IQR method — same formula, same tolerated position conventions — but no citation anywhere in the reviewed archive confirms a WST01 question naming a specific interpercentile range other than the IQR by name; flagged in §4 rather than claimed as tested.
3. Synthesis — every real exam angle this specific topic has actually been tested from
Confirmed in the archive, one row per distinct angle, all traced to WST01-verified-facts.md §5 Section 2 and the dedicated per-lesson audit:
| Series & question | Real angle tested | What the source shows (paraphrased; short quote attributed) | Where taught in this repo |
|---|---|---|---|
| Jan 2023 Q1(c) | Mean from a grouped frequency table, wrong denominator/numerator | ER: some candidates divided by the number of classes rather than , or substituted class-width×frequency for the numerator | Live lesson, commonWrongPath (a); this document §2.3 (unequal-width extension) |
| Jun 2022 Q3(e) | Coding: decoding a variance three distinct wrong ways (constant not squared; squared but multiplied not divided; not decoded at all), real anchors 255 and 0.5 | ER, paraphrased: candidates left the assumed mean folded in, or used instead of , or used the wrong way round | Live lesson's full worked-chain and trap-taxonomy (all three variants) |
| Jan 2023 Q1(d) | Two distinct malformed standard-deviation formulae in one sitting; a "sample SD" form credited as a genuine alternative on this one series | ER's own two malformed shapes (summarised, not quoted verbatim, by the facts bank itself); mark scheme confirms the alternative | Live lesson's marked-solution commonWrongPath (b) i/ii, and reference-card note |
| Jan 2021 Q6(c) | Recovering for a group from its given mean and SD, forgetting to square the SD | ER: candidates "forgot to square the standard deviation of 2" | Live lesson's chain-drill and trap-taxonomy item |
| Jan 2023 Q1(e) | vs interpolation-position convention landing in different classes | ER: candidates who "worked with rather than " were more often successful | Live lesson's mechanism block; this document §2.4 (extended to the median) |
| Oct 2021 Q3(b) | "Show that the IQR [given value]" reverse-engineered instead of genuinely interpolated | ER, paraphrased: some candidates invented two values with the target gap between them rather than interpolating either quartile | Live lesson's trap-taxonomy (named, not fully drilled — full treatment in show-that-answer-discipline.ts) |
| Jun 2024 Q1(b) | Stem-and-leaf diagram read in the wrong direction, silently swapping which value is vs | ER, paraphrased: reading a back-to-back diagram's mirrored side in plain print order swapped the two quartiles | Owned by reading-and-comparing-distributions.ts (spec 2.1) — adjacent, not this lesson's own core skill |
Honest frequency statement, no invented likelihoods. The facts bank's own frequency audit (signal-frequency-and-boundaries.md) confirms Section 2 as a whole (spec 2.1–2.4) tested in 6 of the 6 fully-read examiner-report series (Jun 2019, Jan 2021, Oct 2021, Jun 2022, Jan 2023, Jun 2024) — the only section confirmed in every one. But that combined count spans four spec sub-points, not just this lesson's own 2.2/2.3 core (mean, coding, standard deviation, interpolation). Narrowed to that specific core, this document finds a directly-cited, distinct exam angle in 4 of those 6 series — Jan 2021, Oct 2021, Jun 2022, Jan 2023 — with a fifth (Jun 2024) contributing only an adjacent, differently-tagged trap (the stem-and-leaf misread above, which affects which numbers a student reports as / but is diagnosed in the source as a spec-2.1 reading error, not a 2.2/2.3 calculation error), and the sixth (Jun 2019, the one series added by the later spot-check pass) surfacing nothing new specific to this topic in that pass. Both statements are true at once and are kept separate deliberately, exactly as this repo's other CODEX deep-dives already do for their own topics.
4. Open flags — where the real evidence currently runs out
- Mode has no documented exam trap anywhere in the reviewed archive. It is named in spec 2.2's own list and defined formally in §1.1 above for completeness, but — as the live lesson's own header already states — inventing a trap for it would manufacture content the evidence doesn't support. Left as a definitional note, not a worked sub-case.
- Range (max min) is likewise undocumented as a specific exam-trap topic in the reviewed archive — named in spec 2.3, given no dedicated treatment anywhere in this repo's WST01 material, and not given one here either, for the same reason.
- §2.4's grouped-median-by-interpolation and §2.5's interpercentile-range-beyond-the-IQR are both genuine applications of already-confirmed methods, not confirmed exam angles in their own right. No citation in the reviewed archive tests either combination directly; both are flagged as such at the point they're introduced above and again here, so neither is mistaken for verified past-paper content.
- 8 of the 14 mark-scheme series that exist for this unit have no confirmed, independently-verified examiner report read yet (Jun 2021, Jan 2022, Oct 2022, Jun 2023, Oct 2023, Jan 2024, Oct 2024, Jan 2025 — per the facts bank's own §8/§9). The one spot-check series added outside the original five (Jun 2019) surfaced real, new gaps for two other WST01 topics — a box-plot fence-recalculation step after a data correction (Q2(c), spec 2.4) and an -vs- reasoning error (Q5(e), spec 5.3) — but nothing new specific to this one, this document's own topic — a lower bound on this topic's own coverage, not evidence it is exhausted.
- §2.3's unequal-class-width variant of the mean-from-a-table trap is this document's own extension, built to demonstrate the same confirmed mechanism more sharply — it should not be taught to a student as a documented past-paper pattern, only as a reason the "same width collapses to a constant" giveaway can't always be relied on.
Sources
research/veridian/WST01-verified-facts.md — §1 (spec text for 2.2/2.3, verbatim), §2a (formula-booklet contents, confirming mean/SD/IQR are not printed and must be memorised), §5 Section 2 (every examiner-report finding cited above), §6 (the cross-cutting "show that" note, for Oct 2021 Q3(b)), §7 (topic-richness ranking), §8 (coverage-gap flags), and the 2026-09-12 per-lesson audit entry for measures-of-location-and-dispersion.ts. content/veridian/curriculum/wst01/measures-of-location-and-dispersion.ts (live lesson, read in full). content/veridian/technique-hub/wst01/codex-formula-and-method-bank.md, forge-exam-technique-guide.md, and signal-frequency-and-boundaries.md (all three, grepped for this topic). content/veridian/question-bank/wst01.ts (grepped; no direct-duplicate item found). content/veridian/curriculum/wst01/outliers-boxplots-comparing-distributions.ts and reading-and-comparing-distributions.ts (grepped only, to confirm the median/skew/stem-leaf boundary lines drawn in §1.1, §2.4 and the synthesis table).