If the answer changes nothing,
it is not a report.
Before adding any figure to a school dashboard, finish this sentence: "if this number is bad, we will ___ ." If the blank cannot be filled in with something a named person could do within a week, the number is decoration. It may still be interesting. It should not be on the page a head of school opens on Monday morning, because every decorative number on that page makes the actionable ones slightly harder to see.
This test is unkind to most of what school software reports, and that is the point. It is also unkind to reports that leaders ask for out of anxiety rather than intent — the request for "everything, so we can have a look" usually produces a spreadsheet that is opened once. A small school does not have an analyst. It has a person with ninety spare minutes a week, and the job of reporting is to spend those ninety minutes well.
Five numbers,
five possible Mondays.
These survive the test in almost every small school — a language academy, a tutoring centre, an independent primary. Each one has an obvious next action when it moves the wrong way, which is the only reason it belongs.
Note what is absent. There is no measure of "quality of teaching", because nothing on a dashboard measures it and pretending otherwise damages the relationship with the people who do it. There is no student ranking. And there is no single composite "school health score", because a blended index hides which of its inputs moved, which is the only part you could act on.
Against the period before,
of the same length.
Every one of the five is unreadable without something to compare it against. "Average score 68" is a fact about nothing. "Average score 68, up from 61" is a result. "Average score 68, down from 79" is a meeting.
The comparison that works for schools is the immediately preceding period of equal length, chosen automatically. Not last year — too much has changed, and in a growing school the cohort is not the same people. Not a target set in September, which mostly measures how optimistic somebody was in September. The period before is the one where the students are broadly the same students and the change is therefore about what the school did.
SprintUp returns this pairing by construction: you choose a date range, and every figure comes back with the same figure for the window of equal length immediately before it, up to a total of a little over a year across both. It removes the most common failure in school reporting, which is not bad maths but a missing baseline — the school that cannot say whether 94% attendance is a recovery or a decline, because nobody wrote down what it was.
One caveat worth carrying into any term-by-term reading: terms are not interchangeable. A December window contains a holiday and a January one contains the start-of-term surge, so a comparison across that boundary will move for calendar reasons. This is an argument for reading the figure with a note attached, not for abandoning the comparison.
A grading backlog
with an age on it.
Four of the five are familiar. The fourth usually is not, and it is the one that most often explains the others. Feedback that arrives a fortnight after the work was submitted does almost nothing: the student has moved on, the mistake has been practised, and the effort of marking it was largely wasted. A backlog that is growing is an early warning for attendance and for scores, and it shows up before either of them moves.
Two figures make it legible. The first is the size of the queue — how many submitted answers are waiting for a teacher. The second, which matters more, is how old the oldest item is. A queue of forty that is all from yesterday is a normal Tuesday. A queue of twelve where the oldest is three weeks old is a student who has been waiting three weeks, and probably a teacher who is quietly drowning. SprintUp reports both, along with a median turnaround in hours for the period and for the period before, so you can see whether marking is getting slower.
To be clear about what that is and is not: the median is calculated from the moment a teacher actually grades a question, and it describes what happened. It is not a service level, and nothing in the platform marks work automatically on a teacher's behalf. The number exists so that a school can notice a workload problem while it is still a workload problem, rather than after it has become a complaint from a parent.
Reports that exist
because they were easy.
Most dashboard clutter is not wrong, exactly. It is just uninformative in a way that takes a while to notice, because each number is individually plausible.
The last row is the most important and the least obvious. Cumulative counters — total students ever enrolled, total lessons ever delivered — feel like progress and can only go up, which means they cannot warn you about anything. They belong on a wall at an anniversary, not on an operations page.
"Time on platform" deserves its own warning. Besides rewarding the student who works slowly, collecting it requires the kind of continuous monitoring that a school teaching children should think very hard about before switching on. That argument is the subject of the third article in this cluster.
Weekly, termly, annually.
Never daily.
The five numbers do not all move on the same clock, and reading them all every morning is how a school learns to ignore them. A workable rhythm for a small school: weekly, one person looks at the attention list — the students flagged for low attendance, a falling average or a fortnight of silence — and makes the calls. That is the operational loop, and it is the only one that needs to be weekly.
Termly, the five numbers get read against the previous term, with the calendar caveat noted, and one of them is chosen to work on. Not three. One. Annually, capacity and placement get a proper look, because that is the timescale on which you can actually open a class, close one, or change what you charge.
Daily reporting has exactly one legitimate use in a school, and it is not analytics: it is knowing who is absent today so somebody can ring home. That is a register, not a dashboard, and it should live where the register lives.