TheLearnDen

TheLearnDen Research Lab

Free-Resource Coverage Map — TheLearnDen, August 2026

Strict audit coverage and UI-visible free/no-account coverage across 948 indexed curriculum topics in Years 1 to 10 Maths, English and Science.

Made by TheLearnDen Research Lab · Checked 24 August 2026 · Updated

Curriculum topics
948
Strict gap or thin
38.3%
UI-visible gap or thin
27.2%
Heatmap of TheLearnDen's strictly verified free-resource coverage by year and subject
Darker cells have a higher share of indexed topics with zero to three strictly verified free resources; UI-visible access coverage is reported separately.

TheLearnDen Research Lab, product 3. Snapshot 2026-08-24, generated 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,611 resource rows.

Headline

Under the strict audit subset, 363 of 948 topics (38.3%) are gap or thin — 216 topics (22.8%) have one strictly verified free resource or none at all, and a further 147 (15.5%) have only two or three. The worst strict cell is year6 english, where 78.0% of topics are gap or thin. Under the separate topic-card display mapping, 258 topics (27.2%) are gap or thin. Source concentration is real within the strict subset: the top 3 hosts supply 86.3% of every strictly verified free resource (top host alone: thenational.academy, 6,904 resources), and 342 topics (36.1% of all topics) have ALL of their strict coverage sitting on a single host — if that host goes paid, dead, or deindexed, those topics drop straight to zero.

Strict coverage bands (all 948 topics)

BandMeaningCountShare
gap0–1 strictly verified free resources21622.8%
thin2–314715.5%
ok4–717918.9%
rich8+40642.8%

Year × subject table (30 rows)

YearSubjectTopicsMean strict verified freeStrict gap/thinMean UI-visible free/no-accountUI-visible gap/thin
year1maths203.8550.0%3.4555.0%
year1english314.1951.6%4.1354.8%
year1science1310.2346.2%21.0823.1%
year2maths3416.658.8%15.7414.7%
year2english308.2740.0%7.4036.7%
year2science1226.9216.7%26.9216.7%
year3maths3123.4212.9%22.8712.9%
year3english326.7240.6%4.2562.5%
year3science1920.260.0%20.260.0%
year4maths424.6052.4%6.7142.9%
year4english303.6063.3%9.5733.3%
year4science178.7629.4%13.940.0%
year5maths486.8322.9%5.5831.3%
year5english354.9148.6%3.9757.1%
year5science1821.3311.1%21.1111.1%
year6maths5412.3014.8%9.5216.7%
year6english412.7378.0%7.6148.8%
year6science245.0862.5%11.5037.5%
year7maths457.3348.9%16.1624.4%
year7english203.1070.0%11.4015.0%
year7science503.0874.0%14.4414.0%
year8maths464.5758.7%19.1310.9%
year8english1910.8926.3%8.6326.3%
year8science485.2950.0%14.2710.4%
year9maths4513.1824.4%12.8428.9%
year9english1916.370.0%14.055.3%
year9science4911.7322.4%11.5522.4%
year10maths1659.6912.5%37.2531.3%
year10english2248.3227.3%46.5527.3%
year10science3817.3418.4%21.4526.3%

See heatmap.svg for the visual version of this table.

25 thinnest topics

YearSubjectTopicTotalVerifiedStrict verified freeUI-visible free/no-accountStrict hostsStrict band
year4mathsdivide-by-10-and-10022000gap
year6englishreading-practice-papers21000gap
year1englishread-common-exception-words33000gap
year4mathscount-in-hundredths33000gap
year4mathscompare-decimals-up-to-two-places33000gap
year5englishidentify-themes-and-conventions33000gap
year5englishread-and-discuss-texts33000gap
year5englishformal-speech-awareness33000gap
year5englishjustify-views33000gap
year5sciencerecording-data-and-results32000gap
year6englishuse-questions-to-understand-texts32000gap
year6englishassess-use-of-tenses32000gap
year6englishcorrect-subject-and-verb-agreement32010gap
year7mathsappreciate-infinite-sets30010gap
year8mathsuse-coordinates-in-all-four-quadrants30030gap
year8mathsuse-terms-notation-in-drawings30030gap
year8sciencecomposition-of-the-atmosphere30030gap
year8scienceconcept-of-a-pure-substance30030gap
year8sciencerearrangement-of-atoms-in-reactions30030gap
year8sciencereactions-of-acids-with-metals30030gap
year4englishsentence-awareness44000gap
year5englishuse-perfect-form-of-verbs43000gap
year5sciencereporting-and-presenting-findings43000gap
year6englishuse-spoken-language-in-groups41020gap
year7englishread-a-wide-range-of-texts41030gap

Source concentration

Top 10 hosts by count of strictly verified free resources supplied, across all 948 topics:

HostStrictly verified free resources
thenational.academy6,904
bbc.co.uk1,619
corbettmaths.com462
youtube.com355
corbettmathsprimary.com230
assets.whiteroseeducation.com137
khanacademy.org136
mathsframe.co.uk86
gov.uk51
cognitoedu.org41

Top 3 hosts (thenational.academy, bbc.co.uk, corbettmaths.com) hold 86.3% of all 10,408 strictly verified free resources in the inventory.

Single-host dependency

342 topics have every strictly verified free resource on record coming from one host. Top 20 by resource count at risk:

YearSubjectTopicStrictly verified free (all on 1 host)Host
year2sciencesuitability-for-purpose69thenational.academy
year10sciencechemistry:-atoms-and-the-periodic-table42thenational.academy
year3sciencedifferent-types-of-rocks42thenational.academy
year5scienceaging42thenational.academy
year3scienceskeletons-and-muscles41thenational.academy
year2scienceimportance-of-exercise-food-and-hygiene39thenational.academy
year2sciencewater-light-and-temperature-for-growth39thenational.academy
year5sciencedissolving-and-solutions38thenational.academy
year1sciencephysical-properties-of-everyday-materials36thenational.academy
year3sciencenutrition36thenational.academy
year2sciencehabitats-and-micro-habitats34thenational.academy
year2mathsrecognise-tens-and-ones32thenational.academy
year3sciencemagnets-attract-or-repel31thenational.academy
year2mathsrecognise-fractions29thenational.academy
year8englishuse-growing-knowledge-to-support-writing29thenational.academy
year5sciencemovement-of-earth-and-the-planets26thenational.academy
year2scienceoffspring-through-to-adults25thenational.academy
year10englishlanguage:-non-fiction-reading24thenational.academy
year10sciencechemistry:-practical-science22thenational.academy
year2mathsorder-compare-numbers-to-10022thenational.academy

Dataset-to-UI mapping

  • Strict research metric: a row counts only when access === "free", its verdict is support-verified or video-verified, and authenticated is falsy. This deliberately excludes review-only and unchecked rows.
  • Topic-card display metric: explicit price and account values win. When those are absent, Oak National Academy, BBC Bitesize, Corbettmaths, Khan Academy and Mathsframe are displayed as free with no account, matching the page builder.
  • A Free, no account card label is an access mapping, not a verdict badge. A support-review or unchecked row can therefore be visible in the UI while remaining outside the strict research metric.
  • Example: year8|science|composition-of-the-atmosphere has 0 strict verified-free rows but 3 UI-visible free/no-account rows. The two figures answer different questions and are reported side by side rather than conflated.

Every verdict state and its row count is enumerated in metric-definitions.json.

Method

  • Strictly verified free resource = access === "free" AND verdict in {support-verified, video-verified} AND authenticated is falsy (missing or false, never true).
  • Verified (denominator for strictFreeShare) = any verdict ending in "-verified" (support-verified, video-verified, video-transcript-verified) — broader than the strict verdict set, since strictFreeShare 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".
  • strictGapBand and displayGapBand: gap ≤1, thin 2–3, ok 4–7, rich ≥8 under each metric.
  • 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 in excluded-keys.csv. All counts, percentages, host shares and resource totals here are on the 948-topic set.
  • strictFreeHosts: count of distinct hostnames (scheme/path/www stripped) among a topic's strict resources.
  • Host counts and single-host dependency use the resource's recorded url hostname, lowercased, www. stripped.

Data oddities encountered

  • access field: 14217 "free", 8028 "account-required", 1235 missing/null, and 131 rows with other messy values ("subscription": 5, "Twinkl account may be required": 77, "paid-membership": 1, "free-account": 3, "account": 44, "public": 1). None of these equal the literal string "free", so the strict access === "free" test already excludes them — no special handling was needed beyond the exact-match definition itself.
  • authenticated field: 14419 missing (treated as falsy/free), 7973 explicitly true (excluded from the strict metric), 1219 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 current index, not the whole web. A strict zero does not mean the page has no visible free cards, and neither metric proves no other free resources exist online. "Gap" is always scoped to the named metric and this index.
  • "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.mjs and data/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 strict gap+thin share, UI-visible gap+thin share, the worst strict 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.