Case study 04 / Workforce analytics

Workforce capacity & service-level planning

Service level is an average until it fails in a specific hour. I built an hour-by-day view of where SL broke, then used Erlang C to find which of eight call-centre accounts needed more heads — and worked with schedulers and real-time analysts to make it hold.

Employer and client accounts anonymised. The chart is illustrative, not real data.

Company
Anonymised · BPO provider
Role
Business Analyst
Scope
8 call-centre accounts · 80% SL target
Tools
Erlang C (Excel) · Power Query · Excel

01 / The question

Where does service level actually break — and do we have enough heads?

A monthly service-level number hides the problem. The average can look acceptable while specific hours fail every week, and the accounts carrying the most volume are not always the ones with the most visible pain. The business needed two answers: which hour, on which day, is failing — and which account needs more headcount to fix it.

The target was 80% service level across eight call-centre accounts. The job was to make that target operational rather than aspirational.

02 / The hour-of-day report

One view: service level, call volume, hour and day.

I designed a report that put the four things decision-makers needed on one screen: which hour in the day service level failed, how many calls came in, and on what day. The pattern was consistent — Mondays carried the highest call volume, and failures clustered in specific hours rather than spreading evenly across the day.

That changed the conversation. Instead of "service level is down", the schedulers and real-time analysts could see exactly where to defend the day — and where extra heads would actually change the outcome.

08:00 10:00 12:00 14:00 16:00 18:00 MON TUE WED THU FRI SAT SUN relative call volume SL below 80% Illustrative only — not real data
Illustrative only — shade shows relative call volume; marked cells are hours where SL fell below 80%.

03 / Erlang C headcount planning

From "we need more people" to "this many, in this interval".

The visual showed where the pressure was; Erlang C sized it. Using forecast call volume, average handling time and the 80% service-level target, I modelled the agents required per interval in Excel, with Power Query handling the volume data preparation. Comparing required agents against scheduled heads exposed the accounts that genuinely needed a headcount increase — not just a busier week.

The recommendation only worked because it was made with the people who run the floor. I worked with the schedulers and real-time analysts to turn the capacity numbers into shifts, intraday adjustments and escalation plans, then tracked whether service level held across all eight accounts.

Forecast volume + average handling time Erlang C 80% SL target Required heads per interval Compare with scheduled heads headcount gap by account Headcount change → schedulers + real-time analysts adjust → 80% SL held capacity math translated into shifts, intraday moves and escalation Erlang C and data prep in Excel + Power Query; visualisation in Excel.
Illustrative workflow — the capacity number became a staffing decision, not a report.

04 / What changed

Staffing decisions moved from intuition to capacity math.

  • Service-level failures became visible by hour and day, not buried in an average.
  • Monday peaks and intraday pressure points were anticipated instead of discovered.
  • Accounts needing a headcount increase were identified with Erlang C and a stated SL target.
  • Schedulers and real-time analysts worked from the same capacity numbers, keeping 80% SL across the accounts.

05 / Limitations

What this model is — and isn't.

Erlang C assumes random arrivals, exponential handling times, no abandonment and independent intervals — real queues break some of those assumptions. Forecast error and intraday variance still matter, and the model needs recalibration as volumes and handling times change. The chart above is illustrative; no client figures, account names or real service-level data are published here.

Next

Want the detailed walkthrough?