Project Overview
Most AI advisory tools quietly become the source of truth they were meant to explain — a dangerous habit when the output drives real staffing and cost decisions. This project takes the opposite stance: Python calculates, AI explains, a human decides — always. Built around a synthetic 1,850-agent, 6-channel operation, it benchmarks forecasting models on real error metrics, applies channel-aware capacity logic, stress-tests scenarios, and routes every AI recommendation through human approval with a full audit trail. Not a demo chasing a trend — a working blueprint for AI you can actually trust with a decision that matters.
Contact centres no longer run on a single voice queue. Demand today moves fluidly across voice, live chat, email, WhatsApp, social messaging and in-app chat — and each channel behaves so differently that a single staffing formula simply breaks down when applied across all of them. At the same time, AI advisory tools are increasingly being layered onto workforce planning, and I've seen firsthand how an AI assistant can make a weak planning process look more sophisticated without making it any more reliable — a real risk when the output feeds into staffing and cost decisions worth real money.
I built WFM Intelligence Copilot to solve that specific tension: how do you bring AI into a high-stakes operational decision like workforce planning without letting it quietly become an unaccountable source of numerical truth?
The Solution:
Using a synthetic case — a fictional APAC e-commerce operation, "NovaMart Global," running 1,850 agents across seven markets and six channels — I designed and built an end-to-end workforce planning system with one non-negotiable architectural rule: Python services calculate the numbers, the AI layer explains the numbers, and a human owns the decision.
The workflow runs in six stages: data quality validation, forecast benchmarking, channel-aware capacity planning, scenario stress-testing, grounded AI advisory, and a human-approved, fully audited decision.
Data quality gate — validates incoming planning data for missing handle times, negative workload, and broken interval continuity, blocking the pipeline on critical defects rather than silently patching them.
Forecast benchmarking — runs multiple candidate models (seasonal naive, moving average, Holt-Winters, an optional Prophet adapter) and selects a champion by weighted absolute percentage error, rather than assuming one method always wins — which reflects how forecasting actually behaves across real, varied markets.
Channel-aware capacity planning — voice uses Erlang C with service-level and occupancy constraints; live chat and in-app chat use concurrency-adjusted workload; WhatsApp and social messaging use backlog-moderated asynchronous logic.
Scenario engine — lets planners stress-test assumptions (demand shifts, absence spikes, channel migration) without ever overwriting the base dataset.
Grounded AI advisory — consumes the structured output of the analytical services to summarise risk, cost, and recommended action, but cannot recalculate forecasts or FTE itself. Every recommendation stays "pending" until a human reviewer approves, rejects, or overrides it, with the full decision trail written to an audit log.
Removes the guesswork of which forecasting method to trust, by benchmarking multiple models against real error metrics instead of defaulting to one
Replaces one-size-fits-all staffing math with capacity logic suited to how each channel actually behaves
Gives planners a safe way to pressure-test "what if" scenarios before committing to a staffing plan
Brings AI into the advisory conversation without letting it become an unauditable black box making cost and staffing calls
Creates a full, inspectable audit trail from raw data to human decision — the kind of traceability that regulated and finance-adjacent operations increasingly require of any AI-assisted process
Core language & framework: Python, FastAPI
Data & forecasting: Pandas, NumPy, Statsmodels, SciPy, optional Prophet adapter
Persistence: SQLAlchemy, SQLite (local demo), PostgreSQL (Docker)
AI orchestration: LangGraph-compatible advisory design, strictly grounded in upstream structured output
Interface: Lightweight Streamlit dashboard calling the FastAPI service directly (no duplicated logic in the UI)
Quality & delivery: Pytest test suite, GitHub Actions CI, Docker Compose, full OpenAPI/Swagger documentation
Documentation: Business case, product requirements, architecture & solution design, and data/AI engineering write-ups included alongside the code
End-to-end demo verified across all six Tier 1 channels, with forecast and capacity paths passing on every channel
Demo run achieves an 8.4% backtest WAPE using an automatically-selected Holt-Winters champion model, converging on a staffing gap of -0.83 FTE against a rostered requirement of 12.86 FTE
Fully audited decision trail — 7 audit events recorded per planning run, from data validation through human approval
A working demonstration of how forecasting, workforce economics, scenario planning, AI orchestration and governance can operate as one coherent, explainable system — rather than as disconnected tools bolted together
More details including the working is available on Github at github.com/anupamctg/Wfm-Intelligence-Copilot