IB Maths AI HLStatistics ToolkitPaper 1 & 2~8 min read
Cumulative Frequency Graphs
When data is grouped into class intervals you’ve lost the individual values β so you can’t read off the median or quartiles directly. A cumulative frequency graph solves this. By plotting running totals against the upper boundary of each class and joining the points with a smooth curve, you get an S-shaped graph you can read like a lookup table: go in from a frequency on the y-axis to find a data value, or go up from a data value to count how many fall below it. From it you can estimate the median, quartiles, any percentile, the IQR β and even build a box plot for grouped data.
π What you need to know
Cumulative frequency = a running total of the frequencies β how many values are less than or equal to a given value.
Plot the points at the upper boundary of each class interval (x) against its cumulative frequency (y).
Join with a smooth, increasing curve (the classic S-shape / ogive).
Median: go in from n2 (50%) on the y-axis β across to the curve β down to the x-axis.
Lower quartileQ1: read in from 25% (n4). Upper quartileQ3: from 75% (3n4).
p-th percentile: read in from p% of the total frequency.
IQR = Q3 β Q1 (estimated from the graph).
To find how many are above a value: read the cumulative frequency at that value, then subtract from n.
All results are estimates (the data is grouped), and the curve can be used to build a box plot for grouped data.
Building the graph
The one rule that catches people out: plot each point at the upper class boundary, not the midpoint. The cumulative frequency tells you how many values are below that boundary, so the boundary is the correct x-coordinate.
π§ Recipe β drawing a cumulative frequency graph
Build a cumulative frequency column β add each class frequency to the running total.
Form the coordinates: (upper boundary, cumulative frequency) for each class.
Add the starting point at the lower boundary of the first class, cumulative frequency 0.
Plot the points on labelled axes (x = data value, y = cumulative frequency).
Join them with a smooth increasing curve β not straight line segments.
reading statistics off the curve
To read a quartile: start at the right % of the total on the y-axis, go across to the curve, then drop down to the x-axis. Median at 50%, Q1 at 25%, Q3 at 75%.
The two directions you read the graph
Every cumulative frequency question is one of two moves. Knowing which direction you’re going stops you confusing the axes.
Frequency β value
in then down
Start on the y-axis (a % of n), go across to the curve, drop down. Used for median, quartiles, percentiles.
Value β frequency
up then across
Start on the x-axis (a data value), go up to the curve, across to the y-axis. Used for “how many are below/above x”.
Reading positions off the curve
median β n2Q1 β n4Q3 β 3n4pth percentile β p100 Γ nIQR = Qβ β Qβ is in the formula booklet β
π€ Why use n2, not n+12, on a cumulative frequency graph?
With raw, listed data you find the median position using n+12. But a cumulative frequency curve is a continuous model of grouped data, so you read straight across from exactly half the total, n2. Likewise n4 and 3n4 for the quartiles. Everything you read off is an estimate, because the original values were lost when the data was grouped.
Finding a class frequency from the graph
A cumulative graph stores running totals, so the frequency of a single class is the difference between two cumulative frequencies β read the value at the upper boundary, then subtract the value at the lower boundary.
Frequency of a class = (cumulative frequency at its upper boundary) β (cumulative frequency at its lower boundary).
Worked examples
WE 1
Build the cumulative frequency column
The table shows the times (minutes) taken by 40 students to finish a task. Construct the cumulative frequencies and state the coordinates to plot.
time t (min)
0β€t<10
10β€t<20
20β€t<30
30β€t<40
frequency
6
14
13
7
running totals (β€ upper boundary)β€10: 6β€20: 6+14 = 20β€30: 20+13 = 33β€40: 33+7 = 40coordinates to plot(0,0), (10,6), (20,20), (30,33), (40,40)plot at upper boundariesalways start at (lower boundary of first class, 0) β here (0,0).
WE 2
Find a class frequency from a graph
A cumulative frequency graph for 30 puppies shows the curve passing through cumulative frequency 8 at length 40 cm and cumulative frequency 16 at length 45 cm. The interval 40 β€ l < 45 was used. Find the frequency of this class.
frequency = CF(upper) β CF(lower)= CF at 45 β CF at 40= 16 β 8frequency = 8a single class frequency is always a difference of two cumulative values.
WE 3
Estimate the median & quartiles
A cumulative frequency graph shows the lengths of 30 puppies. Use it to estimate the median, Q1 and Q3. (Reading off the curve: 25% gives 39.5 cm, 50% gives ~45 cm, 75% gives 51.4 cm.)
positions on the y-axis (n = 30)Qβ: ΒΌ Γ 30 = 7.5 β read across β Qβ β 39.5 cmmedian: Β½ Γ 30 = 15 β median β 45 cmQβ: ΒΎ Γ 30 = 22.5 β read across β Qβ β 51.4 cmQβ β 39.5, median β 45, Qβ β 51.4 cmthese are estimates β the data is grouped, so round and say “estimate”.
WE 4
Estimate the interquartile range
Using the quartiles from WE 3 (Q1 β 39.5 cm, Q3 β 51.4 cm), estimate the interquartile range.
IQR = Qβ β Qβ= 51.4 β 39.5IQR β 11.9 cmread both quartiles off the curve, then subtract.
WE 5
How many are above a value (percentage)
For the same 30 puppies, the curve shows a cumulative frequency of 22 at length 51 cm. Estimate the percentage of puppies longer than 51 cm.
Step 1: number β€ 51 cm (read up then across)CF at 51 cm = 22Step 2: number above = n β that= 30 β 22 = 8 puppies longer than 51 cmStep 3: as a percentage8/30 Γ 100% = 26.666β¦%β 26.7% (3 sf)“more than” = total β cumulative frequency. Go up from the value, across to read the count.
WE 6
Find a percentile
A cumulative frequency graph represents 200 exam scores. Estimate the 90th percentile, given the curve reaches cumulative frequency 180 at a score of 76.
Step 1: position for 90th percentile90% Γ 200 = 180Step 2: read across from 180 to the curve, down to xCF = 180 occurs at a score of 7690th percentile β 76 marksa percentile is just a quartile-style reading from p% of the total.
π‘ Top tips
Plot at the upper class boundary, never the midpoint β the cumulative frequency counts everything up to that boundary.
Start at (lower boundary of first class, 0) so the curve begins on the axis.
Join with a smooth curve, not straight lines β it’s an estimate of continuous data.
Use n2, n4, 3n4 of the total frequency β not n+12 β on a cumulative graph.
“More than” = total β cumulative frequency. The graph gives you the “less than or equal” count directly.
Show your construction lines (dashed lines in and down) β examiners award method marks for them.
State answers as estimates and round sensibly β the data is grouped.
β Common mistakes
Plotting at the midpoint of the class. Cumulative frequency points go at the upper boundary.
Reading “more than” straight off the curve. The curve gives “less than or equal” β subtract from n for “more than”.
Joining the points with straight lines. Use a smooth increasing curve.
Mixing up the axes. Cumulative frequency is on y; the data value is on x.
Forgetting the (start, 0) point, leaving the curve floating off the axis.
Quoting estimates as exact. Everything read off a grouped-data curve is an estimate.
Next up β Histograms. A cumulative frequency graph shows running totals; a histogram shows the frequency of each class directly as bars with no gaps. You’ll see how to draw one for continuous grouped data, read off the modal class, and judge the shape of a distribution at a glance.
Need help with Statistics?
Get 1-on-1 help from an IB examiner who knows exactly what Paper 1 & 2 are looking for.