The admissions forecast — accuracy, and a correction
Two things in one page: how accurate the engine has been (measured, not
claimed), and a fix we just shipped so the end-of-cycle number stops over-counting a tail
that last year barely existed.
As of 13 Aug 202616 weekly replays · Apr 20 → Aug 3SOT · School of Technology
1.0%
error on today's admissions
end-of-day · n=16
6.0%
error on the month's total
end-of-month · n=15
605
projected admissions, cycle end
was 662 · range 543–697
26→1
October fix (last year: 1)
tail over-count removed
In one line. Near-term the forecast is tight and trustworthy — it calls the
daily admissions count to within ~2 students and the month to within 6%. But its end-of-cycle
number was inflated by a tail bug: it projected 26 admissions for October when
last year all of October produced one. Fixing it drops the cycle projection
from 662 to 605 and makes the checkpoint ladder
consistent. Details below.
What changed
The tail was counting students who never enrol
The engine's pipeline method spreads students still waiting in the funnel across future
months using last year's conversion-lag curve. Late in the cycle that inventory is mostly
dead — shortlisted students who were never going to pay — but the method kept
projecting them forward, dumping 64 phantom admissions into a September–October
window where last year saw 45. We grounded the tail to last year's real
monthly shape. Near-term projections (where the pipeline is genuinely predictive) are
unchanged.
Monthly admissions — what the engine projected before vs after the fix, against last year's actuals
Month
Before
After
Last year (actual)
Reads as
August
132
132
89
unchanged
September
86
54
44
realistic
October
26
1
1
fixed
End of cycle
662
605
635
−57
When does the cycle actually end? Last year the last SOT admission landed on
11 October, but the cycle is effectively over by end of September — the monthly count fell
202 → 197 → 89 → 44 → 1. So a realistic forecast must let the tail fall to near-zero, which
is exactly what the fix restores.
Where it stands today
471 booked → 605 by cycle close, on a consistent ladder
The checkpoint ladder now ties to the same month-by-month engine that produces the cycle
number — so the steps add up. Previously end-of-month said +35
while end-of-cycle said +197; that gap was an artefact of two
different methods, now reconciled.
Checkpoint
Admissions
+ from now
Registrations
+ from now
Now (13 Aug)
471
—
7,704
—
End of day
473
+2
7,724
+20
End of week (16 Aug)
479
+8
7,807
+103
End of month (31 Aug)
550
+79
8,401
+697
End of cycle
605
+134
8,779
+1,075
End-of-month → end-of-cycle is now
just +55 (September 54 + October 1) — matching last
year's Sep–Oct tail of 45. No more phantom jump.
Interactive · hover the line
The end-of-cycle call, week by week
Each point is what the engine expected the full-cycle total to be, using only data knowable
that day. The corrected line (teal) settles near 605; the old method (dashed) kept climbing
past 660 as it over-counted the tail. Hover any week for the exact numbers.
Corrected end-of-cycle callOld (over-counted tail)Engine low–high bandBooked to date
Interactive · hover a month
The season is a wave, not a plateau
Admissions build to a June–July peak and taper fast. The corrected forecast (teal) sits
just above last year (grey) through the peak — the cycle is running hot — then converges to
last year's near-zero tail. This shape is why a large September/October was never realistic.
Last year actualThis year (actual + forecast)Apr–Jul = booked · Aug–Oct = projected
Track record
Accuracy by horizon
WAPE = weighted absolute percent error, scored against what actually happened. Lower is
better. The verdict says how far to trust each horizon.
Admissions — the number leadership tracks
Horizon
Scored
Avg miss
WAPE
Verdict
End of day
16
1.7
1.0%
near-exact
End of week
16
13.0
6.8%
reliable
End of month
15
12.8
6.0%
reliable
1 month ahead
11
37.5
25.0%
directional
2 months ahead
6
50.5
28.9%
directional
3 months ahead
2
61.0
33.0%
rough
Why is the month-ahead error high — and will the fix lower it? Honestly, no — because it's
a different problem. The month-ahead misses were under-shoots from early in the
cycle (April–June predictions came in low because the season ran hotter than last year). This
fix corrects late-cycle over-shooting of the tail. They're opposite. The month-ahead error
shrinks on its own as the cycle matures and less runway remains for surprises.
What to do with it
Actionable read
1
Plan against the near term as hard numbers.
Today / this week / this month admissions are inside ~6% — safe for staffing, seat-blocking, and
weekly targets. Use 550 by 31 Aug.
2
Use 605 as the cycle number, but watch the top of the band.
The season has out-run last year all year; the realistic range is 543–697, and the upper
half is live if August keeps its pace.
3
The gap to 1,000 is structural, not a pacing miss.
At 605 projected, closing to target needs volume — more registrations now — not a
conversion tweak. September is the last month that can move the number.
4
Don't quote a month-ahead registration figure.
That's the one output the backtest says to withhold (73%+ error); lead with the admissions
projection instead.
Spot-check
The analyst's answers hold up
Two recent chatbot responses were checked against the raw data:
Last year's daily academic-fee payments (SOT). Verified — e.g. 11 Aug 2025 =
11 payments, ₹6,83,225, matching the ledger exactly. It correctly isolated School of
Technology and the "Academic Fees" type, excluding non-academic and accommodation fees.
"Give me this year's same data." Correct call — it disclosed that the current
year has no equivalent semester-fee ledger and offered daily admissions as the honest
comparable, rather than inventing a match.
Bottom line
Trust it up close; the tail is now honest
Operationally accurate — day-of within ~2 students, month within 6%. Plan on it.
End of cycle: 605 admissions (543–697). Down from an inflated 662 after removing a
tail that last year never produced.
Long-range is directional — treat 1–3 month-ahead admissions as a floor, and
skip month-ahead registration volume entirely.
The engine is transparent — a deterministic pipeline + seasonal + momentum
ensemble, every number traceable to its basis. No black box.