Top-band exemplar · AI SL · written to a full-marks standard
When is the sea warm enough for our swimming club? A sinusoidal model of sea temperature
Written by IB Math Revision to show a top-band (full-marks) standard — not a real student's IA, not moderated by the IB; marks can't be guaranteed. The marks below are our examiner-style judgement against the criteria. This exploration was never submitted in an IB session and we do not claim it scored 20/20.
An AI SL modelling exploration written to a top-band (full-marks) standard: a sinusoidal model of weekly sea temperature built first from maxima and minima and then by a substitution that turns it into a linear regression, residuals that reveal the sea warms faster than it cools, a test on a year kept back, and threshold dates for a swimming club with a sensitivity analysis — all within the AI SL syllabus.
Why it reaches the top band, criterion by criterion
| Criterion | Mark | Why |
|---|---|---|
| A · Presentation | 4/4 | A numbered aim with a practical purpose, answered section by section; concise, with raw data in an appendix. |
| B · Mathematical communication | 4/4 | Variables, units and the time origin defined; the model written in proper notation; ≈ for fitted values; tables and figures captioned and referred to. |
| C · Personal engagement | 3/3 | Outstanding: the student's own club and decision, their own idea for improving the model, and a cautious recommendation addressed to the real committee. |
| D · Reflection | 3/3 | Substantial and critical: the period is checked, the first model's weakness diagnosed, residuals analysed by season and explained, the model tested on a year kept back against a benchmark, and the reliability of each threshold date explained. |
| E · Use of mathematics | 6/6 | Correct, precise and sophisticated for AI SL: a cos(bx) + d in degrees with the time origin chosen to avoid HL content, a linearising substitution with regression and r, a systematic search over t₀, residual analysis, and equations solved and interpreted with technology. |
| Total | 20/20 | Full marks are justified because SL mathematics is used with real insight: the linear-regression idea, the residual pattern and the flat-top sensitivity all change the answer to the student's question. |
Marks are our judgement of this teaching exemplar against the current criteria, explained criterion by criterion. They are not IB moderation results, and a real IA written to this standard could still be marked differently by a teacher or moderator.
What would lose marks here
The same exploration, with these changes, would drop out of the top band:
- E Using a GDC's built-in sine regression without explaining it, or a model with a horizontal shift, radians or R² — AHL content that an AI SL exploration should not rely on.
- D Reporting a strong r and stopping, without looking at the residuals: the bias near the 14 °C crossings is exactly where the club's dates are decided.
- D Testing the model only on the data used to build it.
- C Sea temperature, daylight hours or city temperatures modelled for no purpose — a periodic dataset with no question of the student's own.
- B Mixing degrees and radians, or leaving the time variable undefined (week of year? since 2020?).
Excerpts with examiner annotations
Free sections are shown below with comments; the rest is in the full exemplar, available in the protected viewer with the IA package or a Pro plan.
1. Introduction
I swim with a youth open-water club that trains in the pool all year and in the sea in summer. Our coach has two rules: the club only runs sea sessions when the sea is at least 14 °C, and juniors may swim without wetsuits only when it is at least 16 °C. Every year the committee books sea sessions and lifeguards for fixed calendar dates — this year 1 June to 30 September — and every year some sessions are cancelled in early June because the water is too cold, while in October, when the sea still feels warm, we are back in the pool. I offered to use the sea temperature records to suggest better dates for next season.
Sea temperature obviously goes up and down every year, which is why I expected a periodic model to fit. What I did not know was how well a simple sine or cosine curve would describe it, and how much I could trust dates read off a curve.
Aim. I will (1) build a sinusoidal model for the weekly sea temperature at our beach from four years of records, first from the maxima and minima and then by linear regression, (2) test the model on a fifth year that was not used to build it, and (3) use it to predict when the sea is at least 14 °C and at least 16 °C, and decide how far those dates can be trusted before I recommend them to the committee.
C A real decision the student volunteered for, with a clear reason why the current dates fail. The personal context is specific and it shapes every later choice.
A A precise, numbered aim with a practical end point; the sections follow it.
2. The data
A coastal monitoring station on the pier about 400 m from where we swim publishes the sea surface temperature every half hour. I downloaded five years of readings (2020–2024) and used a spreadsheet to calculate the mean for each week, numbering the weeks \(k = 1, 2, \ldots, 52\) from the first week of each year (I left out the few days of the 53rd, incomplete week).
Data note: the temperatures in this exemplar are illustrative, simulated by IB Math Revision to behave like real coastal records; a student must use real records for their own beach and cite them.
I used weekly means because the half-hourly values change with the tide and the time of day, which does not matter for planning a season. I kept 2024 aside and did not look at it closely until Section 6, so that I could test the model on data it had not seen.
The pattern repeats every year: coldest in late winter, warmest in late summer. Plotting the four years against the week of the year (Figure 2) shows that the years lie almost on top of each other, which suggests one model for all of them.
| Year | Minimum (°C) | Week of min | Maximum (°C) | Week of max |
|---|---|---|---|---|
| 2020 | 7.6 | 11 | 17.0 | 31 |
| 2021 | 7.4 | 9 | 16.6 | 31 |
| 2022 | 8.0 | 7 | 16.9 | 36 |
| 2023 | 7.6 | 12 | 17.2 | 35 |
| Mean | 7.65 | 9.75 | 16.93 | 33.25 |
B The source, the processing (weekly means), the variable k and its range are all defined before any modelling.
D Keeping a year aside for testing is a decision made in advance, and the reason for weekly means is given — reflection on the method, not only the results.
E Data are processed with technology and summarised in a table that feeds directly into the next step.
3. A first model from the maximum and minimum
In AI SL a sinusoidal model has the form \(T = a\cos(bk) + d\), where \(a\) is the amplitude, \(d\) is the principal axis and the period is \(\frac{360}{b}\) (in degrees). The cosine form has its maximum when \(bk = 0\), but our maximum is in late summer, not at \(k = 0\). Instead of shifting the graph, I measured time from the warmest week: \(t = k - t_0\), where \(t_0\) is the week of the maximum, so that \(T = a\cos(bt) + d\) has its maximum at \(t = 0\).
Period. One year is \(365.25 \div 7 \approx 52.18\) weeks, so \(b = \frac{360}{52.18} \approx 6.899\) degrees per week. As a check on the shape, a cosine curve takes exactly half a period (26.1 weeks) to rise from its minimum to its maximum. In the data the rise took on average 23.5 weeks and the fall 28.7 weeks — the sea warms up faster than it cools down. I noted this as a possible weakness of any cosine model and came back to it in Section 5.
Amplitude and axis. From Table 1, \(a = \frac{16.93 - 7.65}{2} \approx 4.64\) °C and \(d = \frac{16.93 + 7.65}{2} \approx 12.29\) °C, and the maximum came on average in week \(t_0 \approx 33.25\). So Model 1 is
\[ T \approx 4.64\cos(6.899t) + 12.29, \quad \text{where } t = k - 33.25. \]
To compare models I used the mean absolute error (MAE) — the average size of the differences between the recorded and predicted temperatures, ignoring sign. Model 1 has an MAE of 0.68 °C over the 208 weeks. That is already small, but when I drew it over the data, Model 1 peaked a little too early and too high. The trouble is that it is built from only eight weekly values out of 208: the week of a maximum is easily moved by one unusually warm week — in 2021 the highest value was reached in both week 31 and week 34.
E The student stays within AI SL (a cos(bx) + d, in degrees) and handles the horizontal position by redefining the time variable — correct, clearly explained and at the right level.
D The period is justified and checked against the data, and the weakness of the first model is diagnosed (it depends on eight points), which motivates the next step.
B Every parameter is defined, units given, and ≈ used for rounded values.
4. A better model using linear regression
In the full exemplar (about 2 pages). A substitution that turns the sinusoidal model into a linear regression, a search over the time origin, and a model that fits every week better. Open in the protected viewer
5. What the model gets wrong
In the full exemplar (about 1.5 pages). Residual analysis by season shows a systematic asymmetry, and why it matters for the dates. Open in the protected viewer
6. Testing the model on 2024
In the full exemplar (about 1 page). An out-of-sample test on 2024, compared with a simple benchmark. Open in the protected viewer
7. When should the club swim in the sea?
In the full exemplar (about 2.5 pages). Solving the model for the 14 °C and 16 °C dates, comparing with what happened, and how much a warm or cool year moves them. Open in the protected viewer
8. Conclusion and reflection
A sinusoidal model \(T \approx 4.38\cos(6.899t) + 12.29\), with \(t\) measured in weeks from week 35.0, fitted by turning it into a linear regression, describes the weekly sea temperature at our beach with a mean absolute error of about 0.3 °C, and it predicted 2024, a year it had not seen, with a similar error. Using it, the sea is at least 14 °C from about week 25 to week 44 (using the bias-corrected end of the season, which the records support), so the club's season should start later and finish later than it does now; the 16 °C season is short and varies a lot from year to year.
The main limitation is the shape of the model: a cosine curve is symmetrical and the sea is not — it warms faster than it cools — which shows up as a double wave in the residuals and is the reason I checked whether the dates needed correcting. Other limitations are that the station is 400 m from where we swim, and shallow water near the beach may be warmer on sunny days; that weekly means hide cold days after storms, which are exactly the days sessions get cancelled; and that four annual means (12.28, 12.04, 12.31, 12.58 °C) are far too few to judge whether the sea is getting warmer, which would move every date.
If I did this again, I would put a thermometer in the water at our beach for a summer and compare it with the pier station, and I would model spring and autumn separately. What I learned most is that a model that fits well overall can still be wrong in exactly the place you need it — in my case, the start and end of the season.
A The conclusion answers each part of the aim with the key numbers and returns to the recommendation.
D Limitations are specific to this situation and prioritised; the student says how each would change the answer and how they would address it.
Bibliography and appendices
In the full exemplar (about 1 page). Sources, technology and appendices. Open in the protected viewer
What a moderator could still ask for
- Even at this level, a moderator might want the choice of the mean absolute error (rather than another measure) briefly justified.
- A summer of the student's own beach readings would test the assumption that the pier station represents the swimming spot.
Frequently asked questions
Did this IA actually get 20/20?
No — it is not a real student's IA and was never submitted or moderated. It was written by IB Math Revision to show what a top-band (full-marks) standard looks like; the marks are our examiner-style judgement against the criteria, and no one can guarantee a mark.
Is a trigonometric model enough mathematics for AI SL?
Yes, if it is used with insight: justify the period, fit it with all the data, analyse the residuals and use the model to answer a real question, as here. A sine curve fitted with one button press and described is usually not enough for the top of Criterion E.
Can I model sea temperature, tides or daylight for my IA?
Yes — with your own place, your own data and your own question. Do not reuse this exemplar's data, figures, structure or wording: copying or closely paraphrasing an exemplar is academic misconduct.
Other top-band examples
- How far can a stack of books lean over the edge of a table? (AA HL)
- Is my 07:40 bus late because of the rain? (AI SL)
- What is the quickest way to deliver a leaflet to every house on my estate? (AI HL)
- When can we launch? Modelling the tide at our sailing club's slipway (AA SL)
- Is it cheaper to leave the heating on low overnight? A two-temperature model of my bedroom (AI HL)
All 16 annotated exemplars, including three deliberately mid-band drafts.
Read the whole exploration
The full “Sinusoidal sea temperature (AI SL)” exemplar, with an examiner's note on every section, is in the IA package with the other 15 exemplars (Pro and Platinum plans include them too). €39 once, 12 months' access, 14-day money-back guarantee. It helps you write your own IA; it never writes it for you.
Already have access? Open it in the viewer · All exemplars · Want your own draft marked like this? Examiner review