How we score schools

SweetSpot doesn't rank California public schools. It scores them — and then lets you decide what counts. Here's how.

Data from CDE SARC, cycles 22-23, 23-24, 24-25. Last refreshed 2026-05-15.

How we score

Every California public school is scored against 9dimensions, drawn directly from the state's annual School Accountability Report Card (SARC) filings. For each dimension, we map the school's raw number (test proficiency, suspension rate, teacher credentialing %, etc.) to a 0–10 score using absolute anchor tables — never against its peers. A school's fit score is the weighted average of those dimension scores, with weights you control.

Move a slider on the priorities panel, and every school's fit score re-computes in real time. Nothing about the score depends on rank, curve, or which other schools happen to be near it.

Where the data comes from

Every number on this site comes from the California Department of Education's SARC files, published annually. We don't scrape, infer, or generate — we map columns from CDE's official tables to the dimensions we score on. The 3-cycle report covers school years 22-23 through 24-25.

Source URLs and per-metric file lineage are documented in the appendix below.

Three things we deliberately don't do

No peer-relative ranking.
A school's score doesn't depend on which county you pulled it up in. A 50%-disadvantaged school in Marin and one in Imperial get the same score on the same numbers. We picked the anchor tables once, and they apply statewide.
No rolling averages.
Every score reflects the most recent cycle's data, full stop. We don't smooth bad years into trailing averages — that hides what actually happened.
No hidden algorithm.
The full anchor tables, direction-flipping logic, and metric lineage are below. No black box. No “proprietary blend”.
Read the appendix →

Appendix

For journalists, skeptics, and anyone who wants to verify a number.

Anchor tables

Each dimension's raw → 0–10 mapping. Percentile cutoffs are computed once at build time from the full statewide distribution.

High math proficiency

Higher is better

Column: SMATH_Y1

PercentileRaw valueScore
5th10
50th295
95th7510

Values between the 5th and 95th percentile are linearly interpolated. Outside that range, scores clamp at 0 or 10.

High reading proficiency

Higher is better

Column: SELA_Y1

PercentileRaw valueScore
5th110
50th415
95th8010

Values between the 5th and 95th percentile are linearly interpolated. Outside that range, scores clamp at 0 or 10.

Strong science scores

Higher is better

Column: SSCI_Y1

PercentileRaw valueScore
5th4.410
50th24.245
95th67.0710

Values between the 5th and 95th percentile are linearly interpolated. Outside that range, scores clamp at 0 or 10.

Small class sizes

Lower is better

Column: AVG_SIZE

PercentileRaw valueScore
5th13.1210
50th23.625
95th300

Values between the 5th and 95th percentile are linearly interpolated. Outside that range, scores clamp at 0 or 10.

Low suspension rates

Lower is better

Column: SSUSP_Y1

PercentileRaw valueScore
5th010
50th1.525
95th13.040

Values between the 5th and 95th percentile are linearly interpolated. Outside that range, scores clamp at 0 or 10.

Strong attendance

Lower is better

Column: RALL

PercentileRaw valueScore
5th4.310
50th18.95
95th65.90

Values between the 5th and 95th percentile are linearly interpolated. Outside that range, scores clamp at 0 or 10.

Fully credentialed teachers

Higher is better

Column: SPFUL_Y1

PercentileRaw valueScore
5th38.170
50th885
95th10010

Values between the 5th and 95th percentile are linearly interpolated. Outside that range, scores clamp at 0 or 10.

Less administrative overhead

Higher is better

Column: PTCHSAL

PercentileRaw valueScore
5th22.740
50th28.875
95th35.3410

Values between the 5th and 95th percentile are linearly interpolated. Outside that range, scores clamp at 0 or 10.

High graduation rate

Higher is better

Column: SGR_Y1

PercentileRaw valueScore
5th27.280
50th90.55
95th99.5110

Values between the 5th and 95th percentile are linearly interpolated. Outside that range, scores clamp at 0 or 10.

Data lineage

MetricSARC fileAvailable in
Math proficiency (% met/exceeded)caall.xlsx · CAASPP math22-23, 23-24, 24-25
Reading proficiency (% met/exceeded)caall.xlsx · CAASPP ELA22-23, 23-24, 24-25
Science proficiency (% met/exceeded)caallsci.xlsx · CAST22-23, 23-24, 24-25
Average class sizeacselm.xlsx + acssec.xlsx · class size22-23, 23-24, 24-25
Suspension rate (%)susexp.xlsx · suspensions22-23, 23-24, 24-25
Chronic absenteeism rate (%)chronic.xlsx · chronic absenteeism22-23, 23-24, 24-25
Fully credentialed teachers (%)teacherprep.xlsx · fully credentialed22-23, 23-24, 24-25
Teacher pay share of total compensation (%)salary.xlsx · teacher pay share22-23, 23-24, 24-25
4-year graduation rate (%)cohort.xlsx · 4-year graduation22-23, 23-24, 24-25

Known limitations