How ryanportfolio/wfm works
WFM Forecast & Staffing Workbench is a browser-only contact-center planning tool. Users load sample data or CSV, review data quality, forecast interval demand, validate forecasts with rolling-origin backtests, and translate demand into staffing or capacity plans; intraday tools compare observed demand and scheduled heads. Named projects preserve local working plans, and result views support CSV export. The README documents these capabilities; sampled source confirms the app’s loading and worker patterns, forecast orchestration, ensemble, and worker dispatch. Other feature wiring is shown only where supported by the product description and file tree.
Main entry points: App.tsx Workbench App · workerClient.ts Worker Client · worker.ts Compute Worker · download.ts CSV Downloads
Components 24
Workbench UI
- Workbench App
src/App.tsx - CSV Import
src/engine/csv.ts - Sample Data
src/engine/sampleData.ts - Data Review
src/ui/DataTab.tsx - Forecast View
src/ui/ForecastTab.tsx - Accuracy View
src/ui/AccuracyTab.tsx
Forecasting
- Clean History
src/engine/clean.ts - Forecast Pipeline
src/engine/forecastPipeline.ts - Forecast Ensemble
src/engine/forecast/ensemble.ts - Interval Profiles
src/engine/profiles.ts - Rolling Backtest
src/engine/backtest.ts
Staffing Planning
- Staffing View
src/ui/StaffingTab.tsx - Capacity View
src/ui/CapacityTab.tsx - Intraday View
src/ui/IntradayTab.tsx - Staffing Scenarios
src/engine/staffing.ts - Erlang Models
src/engine/erlang.ts - Capacity Planning
src/engine/capacity.ts - Intraday Calculation
src/engine/intraday.ts
Compute Runtime
- Worker Client
src/ui/workerClient.ts - Compute Worker
src/engine/worker.ts
Local Workspace
- Project Files
src/ui/project.ts - CSV Downloads
src/ui/download.ts
Other components
- Planner
- Local Files
Connections 37
- Planner → Workbench App: uses
- Workbench App → CSV Import: parses CSV
- Workbench App → Sample Data: loads sample
- CSV Import → Workbench App: returns records
- Sample Data → Workbench App: returns records
- Workbench App → Data Review: shows data
- Workbench App → Forecast View: shows forecast
- Workbench App → Accuracy View: shows scores
- Workbench App → Staffing View: shows staffing
- Workbench App → Capacity View: shows capacity
- Workbench App → Intraday View: shows intraday
- Workbench App → Worker Client: requests forecast
- Forecast View → Worker Client: requests forecast
- Accuracy View → Worker Client: requests backtest
- Staffing View → Worker Client: requests staffing
- Intraday View → Worker Client: requests projection
- Worker Client → Compute Worker: posts jobs
- Compute Worker → Forecast Pipeline: runs forecast
- Compute Worker → Rolling Backtest: runs backtest
- Compute Worker → Staffing Scenarios: applies scenario
- Compute Worker → Intraday Calculation: calculates projection
- Forecast Pipeline → Clean History: cleans history
- Forecast Pipeline → Forecast Ensemble: fits and blends
- Forecast Pipeline → Interval Profiles: intervalizes demand
- Forecast Ensemble → Clean History: uses cleaned history
- Staffing Scenarios → Erlang Models: solves staffing
- Intraday Calculation → Erlang Models: projects service
- Capacity View → Capacity Planning: plans supply
- Planner → Local Files: opens or saves
- Local Files → Workbench App: provides project
- Workbench App → Project Files: validates or serializes
- Workbench App → Local Files: downloads project
- Forecast View → CSV Downloads: exports results
- Accuracy View → CSV Downloads: exports scores
- Staffing View → CSV Downloads: exports staffing
- Capacity View → CSV Downloads: exports plan
- Intraday View → CSV Downloads: exports results