TheLearnDen Research Lab
Free Curriculum Coverage Gap Map — August 2026
Where checked free coverage is strong, thin or absent across 948 curriculum topics in TheLearnDen's current inventory.
Made by TheLearnDen Research Lab · Checked 22 August 2026 · Updated
- Curriculum topics
- 948
- Gap or thin
- 43.5%
- Top-three host share
- 90.4%
TheLearnDen Research Lab, product 3. Generated 2026-08-22 from data/curated/verified-resources.json: 1,134 year|subject|topic keys, of which 186 are seasonal collection or bare index pages and are excluded, leaving 948 curriculum topics carrying 23,060 resource rows.
Headline
Of the 948 curriculum topics TheLearnDen has checked, 412 (43.5%) are gap or thin on working free coverage — 256 topics (27.0%) have one working free resource or none at all, and a further 156 (16.5%) have only two or three. The worst cell is year7 science, where 80.0% of topics are gap or thin. Source concentration is real: the top 3 hosts supply 90.4% of every working free resource in the inventory (top host alone: thenational.academy, 6,572 resources), and 380 topics (40.1% of all topics) have ALL of their working free coverage sitting on a single host — if that host goes paid, dead, or deindexed, those topics drop straight to zero.
Coverage bands (all 948 topics)
| Band | Meaning | Count | Share |
|---|---|---|---|
| gap | 0–1 working free resources | 256 | 27.0% |
| thin | 2–3 | 156 | 16.5% |
| ok | 4–7 | 184 | 19.4% |
| rich | 8+ | 352 | 37.1% |
Year × subject table (30 rows)
| Year | Subject | Topics | Mean working free | % topics gap/thin |
|---|---|---|---|---|
| year1 | maths | 20 | 3.40 | 55.0% |
| year1 | english | 31 | 4.19 | 51.6% |
| year1 | science | 13 | 9.62 | 53.8% |
| year2 | maths | 34 | 16.32 | 14.7% |
| year2 | english | 30 | 8.60 | 36.7% |
| year2 | science | 12 | 26.92 | 16.7% |
| year3 | maths | 31 | 23.06 | 12.9% |
| year3 | english | 32 | 5.69 | 40.6% |
| year3 | science | 19 | 20.26 | 0.0% |
| year4 | maths | 42 | 4.62 | 52.4% |
| year4 | english | 30 | 3.13 | 63.3% |
| year4 | science | 17 | 6.47 | 35.3% |
| year5 | maths | 48 | 5.60 | 29.2% |
| year5 | english | 35 | 4.57 | 48.6% |
| year5 | science | 18 | 21.22 | 11.1% |
| year6 | maths | 54 | 2.09 | 77.8% |
| year6 | english | 41 | 2.54 | 78.0% |
| year6 | science | 24 | 4.88 | 62.5% |
| year7 | maths | 45 | 6.18 | 55.6% |
| year7 | english | 20 | 2.90 | 70.0% |
| year7 | science | 50 | 2.02 | 80.0% |
| year8 | maths | 46 | 4.22 | 58.7% |
| year8 | english | 19 | 10.89 | 26.3% |
| year8 | science | 48 | 4.90 | 50.0% |
| year9 | maths | 45 | 12.22 | 28.9% |
| year9 | english | 19 | 16.37 | 0.0% |
| year9 | science | 49 | 11.73 | 22.4% |
| year10 | maths | 16 | 59.63 | 12.5% |
| year10 | english | 22 | 48.27 | 27.3% |
| year10 | science | 38 | 17.29 | 18.4% |
See heatmap.svg for the visual version of this table.
25 thinnest topics
| Year | Subject | Topic | Total | Verified | Working free | Free hosts | Band |
|---|---|---|---|---|---|---|---|
| year6 | english | reading-practice-papers | 2 | 1 | 0 | 0 | gap |
| year1 | english | read-common-exception-words | 3 | 3 | 0 | 0 | gap |
| year2 | english | use-expanded-noun-phrases | 3 | 3 | 0 | 0 | gap |
| year4 | maths | divide-by-10-and-100 | 3 | 3 | 0 | 0 | gap |
| year4 | maths | count-in-hundredths | 3 | 3 | 0 | 0 | gap |
| year4 | maths | compare-decimals-up-to-two-places | 3 | 3 | 0 | 0 | gap |
| year5 | english | identify-themes-and-conventions | 3 | 3 | 0 | 0 | gap |
| year5 | english | read-and-discuss-texts | 3 | 3 | 0 | 0 | gap |
| year5 | english | formal-speech-awareness | 3 | 3 | 0 | 0 | gap |
| year5 | english | justify-views | 3 | 3 | 0 | 0 | gap |
| year5 | english | structure-text-to-guide-reader | 3 | 3 | 0 | 0 | gap |
| year5 | science | recording-data-and-results | 3 | 2 | 0 | 0 | gap |
| year6 | english | use-questions-to-understand-texts | 3 | 2 | 0 | 0 | gap |
| year6 | english | assess-use-of-tenses | 3 | 2 | 0 | 0 | gap |
| year6 | english | correct-subject-and-verb-agreement | 3 | 2 | 0 | 0 | gap |
| year7 | maths | appreciate-infinite-sets | 3 | 0 | 0 | 0 | gap |
| year8 | maths | use-coordinates-in-all-four-quadrants | 3 | 0 | 0 | 0 | gap |
| year8 | maths | use-terms-notation-in-drawings | 3 | 0 | 0 | 0 | gap |
| year8 | science | composition-of-the-atmosphere | 3 | 0 | 0 | 0 | gap |
| year8 | science | concept-of-a-pure-substance | 3 | 0 | 0 | 0 | gap |
| year8 | science | rearrangement-of-atoms-in-reactions | 3 | 0 | 0 | 0 | gap |
| year8 | science | reactions-of-acids-with-metals | 3 | 0 | 0 | 0 | gap |
| year3 | english | create-fiction | 4 | 4 | 0 | 0 | gap |
| year5 | english | use-perfect-form-of-verbs | 4 | 3 | 0 | 0 | gap |
| year5 | science | reporting-and-presenting-findings | 4 | 3 | 0 | 0 | gap |
Source concentration
Top 10 hosts by count of working-free resources supplied, across all 948 topics:
| Host | Working-free resources |
|---|---|
| thenational.academy | 6,572 |
| bbc.co.uk | 1,593 |
| corbettmaths.com | 393 |
| youtube.com | 278 |
| khanacademy.org | 124 |
| gov.uk | 49 |
| mathsframe.co.uk | 43 |
| cognitoedu.org | 41 |
| corbettmathsprimary.com | 41 |
| tes.com | 25 |
Top 3 hosts (thenational.academy, bbc.co.uk, corbettmaths.com) hold 90.4% of all 9,466 working free resources in the inventory.
Single-host dependency
380 topics have every working free resource on record coming from one host. Top 20 by resource count at risk:
| Year | Subject | Topic | Working free (all on 1 host) | Host |
|---|---|---|---|---|
| year2 | science | suitability-for-purpose | 69 | thenational.academy |
| year10 | science | chemistry:-atoms-and-the-periodic-table | 42 | thenational.academy |
| year3 | science | different-types-of-rocks | 42 | thenational.academy |
| year5 | science | aging | 42 | thenational.academy |
| year3 | science | skeletons-and-muscles | 41 | thenational.academy |
| year2 | science | importance-of-exercise-food-and-hygiene | 39 | thenational.academy |
| year2 | science | water-light-and-temperature-for-growth | 39 | thenational.academy |
| year5 | science | dissolving-and-solutions | 38 | thenational.academy |
| year1 | science | physical-properties-of-everyday-materials | 36 | thenational.academy |
| year3 | science | nutrition | 36 | thenational.academy |
| year2 | science | habitats-and-micro-habitats | 34 | thenational.academy |
| year2 | maths | recognise-tens-and-ones | 32 | thenational.academy |
| year3 | science | magnets-attract-or-repel | 31 | thenational.academy |
| year2 | maths | recognise-fractions | 29 | thenational.academy |
| year8 | english | use-growing-knowledge-to-support-writing | 29 | thenational.academy |
| year5 | science | movement-of-earth-and-the-planets | 26 | thenational.academy |
| year2 | science | offspring-through-to-adults | 25 | thenational.academy |
| year10 | english | language:-non-fiction-reading | 24 | thenational.academy |
| year2 | maths | identify-2d-with-3d-shapes | 24 | thenational.academy |
| year10 | science | chemistry:-practical-science | 22 | thenational.academy |
Method
- Working free resource =
access === "free"ANDverdictin {support-verified, video-verified} ANDauthenticatedis falsy (missing orfalse, nevertrue). - Verified (denominator for freeShare) = any
verdictending in "-verified" (support-verified, video-verified, video-transcript-verified) — broader than the working-free verdict set, since freeShare asks "of what we've actually checked and confirmed, how much of it is free" rather than "how much is free AND unauthenticated AND a specific verdict flavour". - gapBand: gap ≤1 working free, thin 2–3, ok 4–7, rich ≥8.
- Excluded keys: 186 of the 1,134 keys in the source file are seasonal collections (back-to-school, core-subjects, End-of-Term-1, end-of-term-2, end-of-term-3, end-of-year) or a bare index key (
Topics, in year 7 and year 8 science). They are not curriculum topics and are dropped before any figure on this page is computed; every one is listed inexcluded-keys.csv. All counts, percentages, host shares and resource totals here are on the 948-topic set. - freeHosts: count of distinct hostnames (scheme/path/www stripped) among a topic's working free resources.
- Host counts and single-host dependency use the resource's recorded
urlhostname, lowercased,www.stripped.
Data oddities encountered
accessfield: 13620 "free", 7777 "account-required", 1509 missing/null, and 154 rows with other messy values ("subscription": 5, "Twinkl account may be required": 100, "paid-membership": 1, "account": 47, "public": 1). None of these equal the literal string "free", so the strictaccess === "free"test already excludes them — no special handling was needed beyond the exact-match definition itself.authenticatedfield: 14954 missing (treated as falsy/free), 7735 explicitly true (excluded from working-free), 371 explicitly false (treated as falsy/free).- A handful of resource URLs failed
new URL()parsing and were bucketed as(unparseable-url)for host counting; this does not affect the workingFree counts, only the freeHosts / host-concentration figures.
Limitations
- This measures TheLearnDen's own checked inventory, not the whole web — a topic with zero working free resources here may still have free resources online that TheLearnDen hasn't found or verified yet. "Gap" means "gap in what we've checked", not "gap in what exists".
- "Free" is as recorded at each resource's last check — access terms on third-party sites change without TheLearnDen re-checking every row on the same cadence.
- Verdict dates are not uniform across the dataset; some verdicts are recent, others older, so freshness varies by row and this snapshot does not correct for it.
- No topic→term/half-term mapping was available cheaply (checked
scripts/build-seo-pages.mjsanddata/curated/topic-progression.json; the latter maps topic prerequisites, not scheduling) — this edition reports by year/subject/topic only, not by term.
What changes between editions
Re-running this script against a newer verified-resources.json will move topics between bands as resources are added, re-verified, or drop off (link rot, access changes). The headline numbers to diff edition-to-edition: total gap+thin share, the worst year/subject cell, top-3-host concentration share, and the single-host dependency count — these are the figures most likely to shift as TheLearnDen's own verification work and the underlying free-resource landscape both move.