Forecast¶
Forecast calculates how many agents you need at each time of day, based on historical call data from your Daktela contact centre. The output is a set of Needs that Smart Schedule then uses to generate the schedule.
This removes the manual step of estimating staffing requirements - the system uses real call history, applies an Erlang C model, and produces concrete numbers per 15-minute slot.
How it works¶
Forecast runs in five stages:
- Load history - reads
aggregated_historyfor the selected queue over the lookback window (12 weeks by default). - Build profile - groups slots by weekday/hour/minute and computes the average call volume and AHT (Average Handle Time) per slot.
- Apply correction factors - adjusts the profile for trend (year-over-year change), public holidays in the queue's country, and an optional seasonal factor.
- Erlang C - converts predicted call volume + AHT into the minimum number of agents needed to hit the Service Level target.
- Apply as Needs - groups weekdays with identical patterns into a small set of Need records the scheduler can consume.
You confirm the result in a preview step before any Needs are created.
Prerequisites¶
Before running Forecast, make sure these are set up:
| Item | Where | Why |
|---|---|---|
| Call Center | Settings > Integrations > Call Centers | Source of historical call data |
| Queue | Settings > Integrations > Queues | Maps Daktela call queues into WFM and ties them to skills + workplaces |
| Skills | Settings > Configuration > Skills | Each skill the queue covers |
| Workplace | People > Workplaces | Where the forecast will create Needs |
| Historical data | (collected automatically by the calls history cron) | Forecast quality scales with how much history is available |
If a queue has no Daktela mapping or no historical data has been collected yet, Forecast returns zeros - wait for the cron to populate history (usually within one hour after queue creation) or check the Daktela queue mapping.
Generate a forecast¶
- In the left menu, go to Settings > Configuration > Forecast.
- The Forecast wizard opens with four steps: Settings, Calculation, Review, Done.
Step 1 - Settings¶
Fill in the input parameters:
| Field | Description |
|---|---|
| Queue | Select the queue whose history you want to forecast from |
| Workplace | Workplace where the resulting Needs will be created |
| Skills | One or more skills the forecast should cover - defaults to all skills mapped to the queue |
| Period | Optional - if you pick a period, Date From / Date To are filled automatically |
| Date From / Date To | The date range you want to schedule |
| Service Level (%) | Target service level - the percentage of calls answered within the target ASA. Industry standard is 80. |
| Target ASA (s) | Average Speed of Answer - the time in seconds within which the target service level applies (typically 20) |
| Shrinkage (%) | Lost agent capacity (breaks, training, admin, sick leave). Typical contact centre: 30. |
| Granularity | Slot size in minutes - 15 (recommended) or 60 |
| Seasonal Factor | Manual multiplier for unusual periods (Christmas, Black Friday, summer slump). Leave at 1.0 for normal periods. |
Click Generate Forecast.
If the button does nothing, check that Queue, Workplace, Skills, Date From, and Date To are all filled - validation currently fails silently.
Step 2 - Calculation¶
The system loads history, computes the profile, and runs Erlang C. This typically takes 2-5 seconds. You're moved to the Review step automatically when it completes.
If something fails (most often: no historical data, or an unsupported country), you're returned to Settings with an error toast.
Step 3 - Review¶
The Review step shows the Forecast Preview with two views:
- Chart - "Peak agents per time slot": one bar per hour of day, height = required agents
- Table - per-slot detail with columns Time, Calculated Needs (predicted call volume per slot), and Agents (number of agents required by Erlang C)
If the numbers look reasonable, click Apply as Needs. If not, click Back to adjust the parameters - lower the Service Level for fewer agents, increase Shrinkage for more, change the lookback window via Date From/Date To, etc.
Step 4 - Done¶
The system creates Need records and shows a confirmation toast (Forecast applied! N needs created.). Click New Forecast to run another, or close the wizard.
Behind the scenes, the system groups weekdays with the same slot pattern into a single Need - for example, if Monday/Wednesday/Friday all need the same number of agents at the same times, one Need is created with the appropriate days bitmask.
Verify the result¶
- Go to Settings > Configuration > Needs.
- Look for Needs with description "Generated by Forecast".
- Open one to see the time blocks (NeedItems).
- The workplace and skill should match what you selected in the wizard.
If something is wrong, delete the generated Needs and run the wizard again with adjusted parameters.
You can also manually edit a generated Need - it behaves like any other Need from this point on.
Quality levels¶
Forecast quality depends on how much history is available:
| Available history | Quality | What you get |
|---|---|---|
| Under 4 weeks | basic | Averages only - no trend, no holiday correction |
| 4-12 weeks | basic | Averages + holiday factor |
| 12-52 weeks | trending | + year-over-year trend factor |
| 52+ weeks | seasonal | + full-year seasonal pattern |
The wizard indicates the current quality level in the Calculation step.
Holiday handling¶
Forecast uses the queue's Country field to look up public holidays (e.g. CzechRepublic, Slovakia, Germany). On those dates and the day before/after, the system applies a correction factor learned from past holiday data.
If the queue has no country set or holidays aren't applied as expected, edit the queue in Settings > Integrations > Queues and pick the correct country from the dropdown.
Tips¶
- Start with default parameters (SL 80%, ASA 20s, Shrinkage 30%, granularity 15 min) - they match common contact centre practice.
- Wait for at least 12 weeks of history before relying on the forecast - below that, the trend factor is disabled and the output is essentially a flat average.
- Run Forecast separately per workplace, not for the whole company at once - each workplace usually has its own staffing patterns.
- After Apply as Needs, check the result in Smart Schedule - if coverage gaps appear, the forecast was too conservative; if you over-staff, it was too aggressive. Adjust Shrinkage or Service Level and re-run.
- The seasonal factor is a manual override - if you know a period is exceptional (e.g. Christmas campaign), bump it to
1.2-1.5to scale needs proportionally.
Troubleshooting¶
| Issue | Likely cause | Fix |
|---|---|---|
| Generate Forecast button does nothing | Missing Queue, Workplace, Skills, or dates | Fill in all required fields |
| All slots show 0 agents | No historical data for the queue, or no Daktela mapping | Check the queue's Daktela queue mapping; wait for the calls history cron to run |
Quality = basic, weeks = 0 |
Same as above - no history at all | Same fix |
| Holiday factor is wrong or missing | Queue has no Country or wrong Country | Edit the queue and pick the country from the dropdown |
| Too many agents at peak | Service Level too strict, Shrinkage too low | Try SL 75% or Shrinkage 35-40% |
| Too few agents | Shrinkage too high or Seasonal Factor below 1.0 | Lower Shrinkage or raise Seasonal Factor |
| Apply fails | No Skill assigned to the queue, or no Workplace selected | Edit the queue to add a Skill, or pick a Workplace in the wizard |
Related¶
- Needs - manual definition of staffing requirements (Forecast generates these automatically)
- Smart Schedule - uses the Needs that Forecast produced
- Daktela CC Integration - sets up the Call Center that supplies the call history