Forecasts you can defend in the Monday meeting.
From validated historicals to interval-level forecasts to Erlang C requirements — with the full working attached to every number.
Upload & validate
Interval-level volumes, AHT and staffing with structured validation — bad rows surfaced, not silently swallowed.
Forecast
Interval-level volume and AHT forecasts generated from your uploaded history.
Calculate requirements
Forecast → required FTE per interval via backward Erlang C, with shrinkage and occupancy applied.
Lock & version
Lock the plan of record. Locked forecasts are immutable and feed scheduling.
Show the math.
Every result the engine returns carries a full calculation trace: the Erlang C inputs, intermediate values, shrinkage applied, occupancy caps, and the engine version that produced it. If a number is on the screen, you can see exactly how it got there.
- Forward Erlang C — given staff, predict service level, ASA and occupancy
- Backward Erlang C — given targets, compute required FTE per interval
- Backlog-aware modeling — deferred work (email, chat, back-office queues) handled with backlog intervals, not voice math forced onto the wrong channel
- Versioned engine — outputs are stamped with the engine version, so last quarter's numbers reproduce exactly
Clean data in, defensible numbers out.
The historical data uploader takes interval-level volumes, AHT and staffing, and validates on ingest. Errors are reported row by row — you fix the file, not the forecast.
| Row | Interval | Volume | AHT | Status |
|---|---|---|---|---|
| 1,204 | 2026-06-30 14:00 | 388 | 301 | valid |
| 1,205 | 2026-06-30 14:30 | 402 | — | AHT missing |
| 1,206 | 2026-06-30 15:00 | −12 | 295 | volume < 0 |
| 1,207 | 2026-06-30 15:30 | 371 | 298 | valid |
2 rows rejected with reasons · 14,382 rows accepted
Locking & versioning: the plan of record, kept honest.
Locked means locked. A locked forecast is immutable — it can't be quietly edited after the fact. New thinking becomes a new version; scheduling always knows exactly which plan it was built against.
Forecasting FAQ
Which channels are supported?
Voice queues via forward and backward Erlang C, plus backlog-aware modeling for deferred work — email, chat, and back-office style queues where work can carry over between intervals.
What granularity do forecasts run at?
Interval level, matching the interval granularity you configure per campaign — so requirements line up one-to-one with your scheduling and intraday views.
What exactly does “locking” a forecast do?
Locking makes that forecast the immutable plan of record. It can no longer be edited, it's the version scheduling generates against, and it's the “Original” your intraday O/R/P/A grid compares reality to.
See the math for yourself.
Bring one of your own intervals to the demo — we'll trace it end to end.
Book a demo