About school data
-
Making UK school performance data actually readable
+
Making England's school performance data actually readable
School performance data in England is rich but fragmented. The Department for Education publishes
Key Stage 2 SATs, GCSE attainment, Ofsted outcomes, progress scores, admissions figures and
@@ -23,7 +23,7 @@ export function EditorialSection({ totalSchools, localAuthorityCount }: Editoria
SchoolCompare brings it all into one place. Every school page shows performance against the national
average, explains what the numbers mean, and lets you shortlist schools side by side. Built for
parents, governors, journalists, and anyone who wants to understand a school without reading a
- 40-page inspection report.
+ full inspection report.
diff --git a/nextjs-app/components/HomeView.module.css b/nextjs-app/components/HomeView.module.css
index 81e6397..daebb9f 100644
--- a/nextjs-app/components/HomeView.module.css
+++ b/nextjs-app/components/HomeView.module.css
@@ -869,28 +869,54 @@
color: var(--text-primary, #1a1612);
}
-.ofstedBadge {
+.ofstedFramework {
align-self: flex-start;
- padding: 0.2rem 0.55rem;
+ padding: 0.15rem 0.5rem;
border-radius: 4px;
- background: rgba(45, 125, 125, 0.12);
- color: var(--accent-teal, #2d7d7d);
- font-size: 0.55rem;
+ background: rgba(90, 58, 110, 0.12);
+ color: #5a3a6e;
+ font-size: 0.5rem;
font-weight: 700;
letter-spacing: 0.05em;
+ text-transform: uppercase;
}
-.ofstedVerdict {
- font-family: var(--font-playfair), 'Playfair Display', serif;
- font-size: 1.05rem;
+.rcList {
+ display: flex;
+ flex-direction: column;
+ gap: 0.3rem;
+}
+
+.rcRow {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ gap: 0.5rem;
+}
+
+.rcArea {
+ font-size: 0.62rem;
+ color: var(--text-secondary, #4a453d);
+}
+
+.rcChip {
+ padding: 0.1rem 0.4rem;
+ border-radius: 3px;
+ font-size: 0.52rem;
font-weight: 700;
- line-height: 1.2;
- color: var(--text-primary, #1a1612);
+ letter-spacing: 0.03em;
+ white-space: nowrap;
+ flex-shrink: 0;
}
-.ofstedVerdict em {
+.rcChipGood {
+ background: rgba(45, 125, 125, 0.12);
color: var(--accent-teal, #2d7d7d);
- font-style: normal;
+}
+
+.rcChipNeutral {
+ background: var(--accent-gold-bg, rgba(180, 150, 40, 0.12));
+ color: var(--accent-gold-text, #7a6800);
}
.ofstedMeta {
diff --git a/nextjs-app/components/HowItWorksSection.tsx b/nextjs-app/components/HowItWorksSection.tsx
index ae22fc2..c44b0d7 100644
--- a/nextjs-app/components/HowItWorksSection.tsx
+++ b/nextjs-app/components/HowItWorksSection.tsx
@@ -12,8 +12,16 @@ export function HowItWorksSection() {
];
const compareRows = [
{ label: 'Reading, Writing & Maths', a: '70%', b: '64%', aHi: true },
+ { label: 'Higher standard (RWM)', a: '13%', b: '6%', aHi: true },
{ label: 'Ofsted', a: 'Outstanding', b: 'Good', aHi: true },
- { label: 'Reading progress', a: '+2.1', b: '+0.4', aHi: true },
+ ];
+ // Report card (Ofsted's framework from Nov 2025): one rating per area of
+ // school life on a five-point scale, plus a stand-alone safeguarding outcome.
+ const reportCard: Array<{ area: string; grade: string; good: boolean }> = [
+ { area: 'Achievement', grade: 'Strong', good: true },
+ { area: 'Curriculum & teaching', grade: 'Expected standard', good: false },
+ { area: 'Attendance & behaviour', grade: 'Strong', good: true },
+ { area: 'Safeguarding', grade: 'Met', good: true },
];
return (
@@ -49,15 +57,15 @@ export function HowItWorksSection() {
Secondary · Year 11 · GCSE Attainment 8
-
This schoolNational avg 50.2
+
This schoolNational avg 45.9
-
62.4
-
+12.2 vs national
+
54.8
+
+8.9 vs national