How-to

Why a vacant teaching post costs more than a vacant teaching post

Genteel Infosystem 6 min read

A PGT Chemistry teacher resigned two weeks before the new term at a school we spoke to. The vice-principal's response was a WhatsApp broadcast to three placement consultants, a notice on the staff room board, and a spreadsheet of applicants that lived on one laptop. Interviews got scheduled by phone call, one at a time, whenever a slot opened up. Six weeks later, the post was still open — and nobody in the school could actually say how long it had been vacant, how many candidates had been seen, or why the two strongest applicants had gone quiet.

The salary the school "saved" on an unfilled post is the smallest number in this story. The real cost was everywhere else.

What "unfilled" actually hides

A vacant teaching post doesn't show up as a cost on any budget line, so it's easy to underweight. In practice, it's paid for by:

  • Other teachers' free periods, converted into cover duty — unpaid, unplanned, and the first thing that erodes goodwill in a staff room.
  • Curriculum continuity, especially mid-syllabus — a substitute who wasn't in the original lesson plan, repeating or skipping content.
  • The vice-principal or principal's own time, re-doing the same five admin steps (screen a resume, call to schedule, call to confirm, call to reschedule) for every single candidate, serially.
  • Parent confidence, once "we're still interviewing" stretches past a month and starts showing up in parent WhatsApp groups.
  • The candidates themselves — a strong applicant who doesn't hear back in two weeks assumes the post is filled and takes another offer. The slowest step in a hiring process is usually silence, not rejection.

None of these show up in a budget. All of them show up in how the school actually runs for however many weeks the post stays open.

Why most schools can't say how long it actually takes

Ask a school "what's your average time-to-fill for a teaching post?" and the honest answer is usually a shrug. Not because nobody cares — because the process is scattered across channels that don't talk to each other: applications over WhatsApp, interview notes on paper, an offer made over a phone call, a joining date confirmed by SMS. There's no single place where "opening published" and "candidate joined" are both timestamped, so there's no way to measure the distance between them — let alone see where, specifically, a candidate got stuck.

You can't fix what you can't see. A hiring process without a funnel isn't fast or slow — it's just unmeasured.

What a measurable pipeline actually looks like

Stage What should be captured
Opening published Date, role, school, who approved publishing it
First application How the candidate applied, and how long after publishing
Screened / shortlisted Who screened, on what basis, how many rejected at this stage
Interviewed How many rounds, which panelists, independent scores
Offer sent Who approved the offer, at what package
Accepted / declined If declined, why — package, timeline, another offer
Joined Did the accepted candidate actually show up on day one

Once every stage has a timestamp and an owner, "time-to-fill" stops being a guess and becomes a number you can actually improve — and so does "where candidates are dropping out," which is usually more useful than the average alone.

What we shipped

School Console's HR Recruitment module turns the gap between "opening published" and "candidate joined" into one tracked pipeline instead of five disconnected channels:

  • Job openings, with optional approval before they go live — the same maker-checker engine the platform already uses for fee waivers and voucher posting, applied to hiring.
  • A public apply wizard candidates use without creating an account — mobile OTP verification, document upload, and online application-fee payment, with a status page so "did they even see my application" stops being a mystery for the candidate too.
  • Screening and, where a role needs it, a written exam — shortlist applicants and record marks with automatic pass/fail, instead of a parallel spreadsheet.
  • Multi-round interviews with independent panelist scoring — each panelist scores their own round; the application's status updates on its own once every round is in.
  • Offers that route through approval before they go out, the same engine, so a package above a certain level needs sign-off without anyone building a separate process for it.
  • A hiring dashboard — funnel, time-to-fill, offer-acceptance rate, and the actual reasons candidates were rejected or withdrew, computed live from the pipeline, not reconstructed by someone every month.
  • A talent pool for the strong candidates who didn't get this particular role — fast-tracked into a fresh application next time, instead of a resume that gets lost in an inbox.

What this doesn't fix

It won't make more qualified candidates apply, and it won't make the decision of who to hire for you — that's still a human call, and it should be. What it does is make every step up to that decision visible and timestamped, so the six weeks a post sits open are six weeks you can actually account for, not six weeks nobody can explain.

The school with the PGT Chemistry vacancy eventually filled it — in nine weeks, by their own rough count. With a tracked pipeline, the honest answer to "how long did that take, and where did we lose time" would have taken one glance at a dashboard, not a shrug.

Request a demo — we'll walk through the hiring dashboard on placeholder candidate data.