Workforce Planning Templates and Frameworks

From WFM Labs

Workforce Planning Templates and Frameworks provides column-by-column specifications for the core templates that WFM teams use in daily operations. Each template includes its purpose, structure, build instructions, and stakeholder presentation guidance.

Annual Capacity Plan Template

Workforce planning template hierarchy

Purpose: Translate 12-month demand forecast into FTE requirements, hiring needs, and budget.

Update frequency: Monthly refresh, quarterly deep review.

Structure

Column Data Type Description Source
Month Date Calendar month (Jan-Dec) Static
Forecast_Volume Integer Monthly contact volume by channel Forecasting team
AHT_Seconds Float Average handle time in seconds Historical data / trend model
Workload_Hours Float (Forecast_Volume × AHT_Seconds) / 3600 Calculated
Shrinkage_Pct Float Planned shrinkage (PTO, training, meetings, aux) HR + WFM actuals
Occupancy_Target Float Target occupancy rate (0.82–0.88 typical) Service strategy
SL_Target String Service level target (e.g., "80/20") Service strategy
Required_FTE Float From Erlang C or simulation: staff needed at target SL Erlang model
Gross_FTE Float Required_FTE / (1 - Shrinkage_Pct) Calculated
Current_Headcount Integer Productive headcount at start of month HR system
Attrition_Forecast Integer Projected terminations/departures Attrition model
End_Headcount Integer Current - Attrition + New Hires completing ramp Calculated
Gap_Surplus Float End_Headcount - Gross_FTE (negative = gap) Calculated
New_Hire_Need Integer Hires needed to close gap, accounting for ramp Calculated
Class_Size Integer Planned training class size Recruiting/training capacity
Class_Start_Date Date When class begins training Recruiting pipeline
Ramp_Complete_Date Date When new hires reach productive status Training timeline
Cost_Per_FTE Currency Fully loaded monthly cost per FTE Finance
Total_Staffing_Cost Currency Gross_FTE × Cost_Per_FTE Calculated
Overtime_Budget Currency Planned OT spend for gap coverage Finance
Vendor_FTE Float BPO/vendor FTE allocated Vendor management

Build Instructions

  1. Start with the demand forecast (volume × AHT = workload hours)
  2. Apply Erlang C at each monthly level to derive base staff requirements (use average daily volume / operating days for the Erlang input, then multiply back to FTE)
  3. Divide by (1 - shrinkage) to get gross FTE
  4. Layer in current headcount, subtract projected attrition (use trailing 3-month annualized rate as default)
  5. Calculate gap; size hiring classes to close gap with lead time for training ramp
  6. Apply cost rates from finance for budget build

Stakeholder Presentation

For operations leadership: Emphasize gap/surplus by month, hiring class schedule, risk scenarios (what if attrition increases 20%?).

For finance: Emphasize total cost, cost per contact trending, overtime vs straight-time ratio, vendor cost allocation.

For HR/recruiting: Emphasize hiring dates, class sizes, lead time requirements, skill-specific needs.

Monthly Staffing Requirements Template

Purpose: Convert interval-level demand into daily staffing requirements.

Structure

Column Data Type Description
Date Date Each day of the month
Day_of_Week String Mon-Sun
Interval Time 15- or 30-minute interval start time
Forecast_Volume Integer Contacts forecasted for this interval
Forecast_AHT Float AHT in seconds for this interval
Workload_Erlang Float (Volume × AHT) / Interval_Seconds
SL_Target Float Service level target for this interval
ASA_Target Float Average speed of answer target (seconds)
Base_Staff_Required Float Erlang C output: minimum staff for SL target
Shrinkage_Pct Float Interval-level shrinkage (varies by time of day)
Scheduled_Staff_Required Integer Ceiling(Base_Staff / (1 - Shrinkage))
Scheduled_Staff_Actual Integer Agents actually scheduled (from schedule)
Coverage_Delta Integer Actual - Required (positive = overstaffed)

Key detail: Shrinkage varies by time of day. Morning shrinkage (training, team meetings) is typically 5-8% higher than afternoon shrinkage. Use interval-level shrinkage rates, not a flat daily rate.

Schedule Efficiency Scorecard Template

Purpose: Measure how well the published schedule matches staffing requirements.

Metrics

Metric Formula Target Frequency
Coverage Index Σ min(scheduled, required) / Σ required > 0.95 Weekly
Overstaffing Index Σ max(scheduled - required, 0) / Σ required < 0.08 Weekly
Understaffing Index Σ max(required - scheduled, 0) / Σ required < 0.05 Weekly
Schedule Efficiency Productive hours / total paid hours > 0.85 Weekly
FTE Utilization Required FTE / Scheduled FTE > 0.90 Weekly
Preference Fulfillment Granted requests / total requests > 0.70 Monthly
Overtime Ratio OT hours / total hours < 0.05 Weekly
Weekend Equity Variance Std dev of weekend shifts per agent < 1.5 Monthly

Scorecard Layout

Rows: One row per week (or per day for detailed view)

Columns: Metric name | Target | Actual | Variance | Trend (4-week sparkline) | Status (R/Y/G)

RAG thresholds:

  • Green: Within 2% of target
  • Yellow: 2-5% off target
  • Red: > 5% off target

Attrition Forecasting Model Template

Purpose: Project monthly attrition to feed capacity planning.

Structure

Column Description Source
Month Forecast month Static
Tenure_Cohort Grouping by tenure (0-90 days, 91-180, 181-365, 1-2 yrs, 2+ yrs) HR system
Starting_Headcount Headcount at start of month for this cohort HR data
Historical_Attrition_Rate Trailing 12-month annualized rate for this cohort Calculated
Seasonal_Factor Monthly adjustment (e.g., January = 1.15 due to New Year departures) Historical analysis
Adjusted_Monthly_Rate (Historical_Annual_Rate / 12) × Seasonal_Factor Calculated
Projected_Departures Starting_Headcount × Adjusted_Monthly_Rate Calculated
Voluntary_Pct Estimated % that are voluntary Historical split
Involuntary_Pct Estimated % that are involuntary Historical split
Regrettable_Pct Estimated % of voluntary that are regrettable Quality data

Critical insight: Attrition is not uniform across tenure. New hires (0-90 days) typically attrit at 2-3x the rate of tenured agents (2+ years). Model by tenure cohort, not as a blended average.

Build Steps

  1. Extract termination data by month for trailing 24 months
  2. Segment by tenure cohort at time of termination
  3. Calculate annualized attrition rate per cohort per month
  4. Identify seasonal pattern (decompose or calculate monthly indices)
  5. Project forward using cohort rates × current headcount distribution × seasonal factors
  6. Validate against HR's planned involuntary actions (PIPs, restructuring)

New Hire Pipeline Tracker

Purpose: Track recruiting-to-production pipeline with timing and yield assumptions.

Structure

Column Description
Class_ID Unique identifier for training class
Skill_Group Queue or skill this class is training for
Requisition_Open_Date When recruiting opened the req
Target_Class_Size Planned number of trainees
Offer_Target Offers needed (class size / offer acceptance rate)
Interview_Target Interviews needed (offers / interview-to-offer rate)
Application_Target Applications needed (interviews / screen-to-interview rate)
Class_Start_Date First day of training
Training_Duration_Weeks Length of training program
Nesting_Duration_Weeks Post-training supervised production period
Full_Production_Date Date agents reach full productivity
Actual_Start_Count How many actually started training
Training_Attrition Trainees lost during training
Nesting_Attrition Agents lost during nesting
Surviving_FTE Agents reaching full production
Yield_Pct Surviving / Actual_Start_Count
Ramp_Productivity_Week_1 Expected productivity in week 1 of nesting (e.g., 0.50)
Ramp_Productivity_Week_4 Expected productivity in week 4 (e.g., 0.75)
Ramp_Productivity_Week_8 Expected productivity in week 8 (e.g., 0.90)
Full_Productivity_Week Week at which agent reaches 1.0 productivity

Typical yield assumptions (contact center):

  • Offer acceptance rate: 80-85%
  • Training completion rate: 85-90%
  • Nesting completion rate: 90-95%
  • End-to-end yield (offer to production): 60-75%

Shrinkage Budget Worksheet

Purpose: Plan and track all categories of non-productive time.

Structure

Category Sub-Category Planned % Actual % Variance Notes
Paid leave PTO/vacation 6.0% Based on accrual rates and usage patterns
Sick leave 2.5% Seasonal: higher in winter months
FMLA/medical 1.0%
Bereavement/jury 0.3%
Training New hire training 2.0% Varies with hiring volume
Continuing education 1.5% Product updates, compliance
System training 0.5% New tool rollouts
Meetings Team huddles 1.0% Daily 10-min standup
1:1 coaching 1.5% Weekly 30-min sessions
All-hands/town halls 0.3% Monthly
System/admin System downtime 0.5% Unplanned outages
Admin tasks 0.5% Timekeeping, compliance
Unplanned Unexcused absence 1.0%
Tardiness 0.5%
Extended breaks 0.5%
TOTAL 19.6%

Build guidance:

  • Start with 12 months of actual data from adherence reports
  • Calculate each category as % of total scheduled hours
  • Compare against industry benchmarks (total shrinkage: 25-35% is typical; 20% is aggressive, 35%+ indicates management issues)
  • Set planned rates based on trailing actuals adjusted for known changes (policy updates, hiring plan)
  • Review monthly; investigate any category trending > 1% above plan

Presenting Templates to Stakeholders

Rule 1: Never show the raw template. Always present a summary dashboard with the template as backup.

Rule 2: Lead with the story, not the numbers.

  • "We need 3 training classes of 20 to close the Q3 gap" (not "the template shows a -47 FTE delta in July")
  • "Attrition is running 22% annualized against a 18% plan" (not "see row 14 column G")

Rule 3: Include scenarios.

  • Base case (plan assumptions)
  • Optimistic case (attrition -20%, volume -5%)
  • Pessimistic case (attrition +20%, volume +10%)

Rule 4: Make the ask explicit. Every presentation should end with a decision needed: approve hiring plan, authorize overtime budget, confirm vendor ramp.

Scenario Modeling Framework

Every capacity plan should include at least three scenarios. Without scenarios, stakeholders treat the single-point forecast as certain — and are shocked when reality diverges.

Scenario Definition

Scenario Volume Assumption Attrition Assumption AHT Assumption Use Case
Optimistic Plan -10% Plan -20% Plan -5% Best case for budget; shows potential savings
Base Plan (as forecasted) Plan (as modeled) Plan (as trended) Primary operating plan; default for hiring
Pessimistic Plan +15% Plan +30% Plan +10% Worst case; triggers contingency planning
Black swan Plan +30% Plan +50% Plan +15% Crisis scenario; identifies breaking points

Scenario Impact Template

For each scenario, compute:

Metric Optimistic Base Pessimistic Black Swan
Monthly volume
Required FTE (Erlang)
Gross FTE (with shrinkage)
Gap vs current headcount
Hiring classes needed
Monthly staffing cost
Overtime required (hours)
Vendor FTE needed
Projected service level

Trigger-Based Decision Framework

Rather than choosing one scenario, define triggers that activate contingency plans:

Trigger Threshold Action Owner Lead Time
Volume trending above plan +10% for 3 consecutive weeks Authorize additional hiring class VP Operations 8-12 weeks to productive
Attrition spike > 1.5x plan for 2 consecutive months Activate vendor overflow WFM Director 4-6 weeks to ramp
AHT sustained increase +10% for 4 consecutive weeks Investigate root cause; request training budget WFM Manager 2-4 weeks to impact
Volume trending below plan -15% for 4 consecutive weeks Defer planned hiring class VP Operations Immediate

Worked Example: Building an Annual Capacity Plan

Scenario: 300-seat contact center, single skill group, planning for January-June.

Step 1: Demand forecast

Month Forecast Volume AHT (sec) Workload Hours Operating Days
January 185,000 420 21,583 22
February 175,000 415 20,174 20
March 195,000 425 23,021 22
April 190,000 420 22,167 22
May 200,000 430 23,889 21
June 210,000 435 25,375 22

Step 2: Convert to daily requirements (March example)

  • Daily volume: 195,000 / 22 = 8,864 contacts/day
  • Workload per day: 8,864 × 425 / 3600 = 1,046 hours
  • Apply Erlang C at 80/20 SL, 420 sec AHT, across 30-min intervals → peak requirement: 145 agents, average requirement: 118 agents

Step 3: Apply shrinkage (March)

  • March shrinkage plan: 28% (lower than summer months)
  • Gross FTE needed: 145 peak / (1 - 0.28) = 201 FTE (peak), 118 / (1 - 0.28) = 164 FTE (average)
  • Use: 164 FTE for hiring plan (schedule optimizer handles peak distribution)

Step 4: Gap analysis

  • Current headcount (March 1): 175 productive FTE
  • March attrition forecast: 7 (annualized 48%, monthly ~4%)
  • Projected March end headcount (no hiring): 168
  • Gap: 168 - 164 = +4 (slight surplus in March)
  • But June requirement is 186 FTE (25,375 workload hours × higher shrinkage of 32% in summer). Need hiring to fill gap by June.

Step 5: Hiring plan

  • June gap: 186 required - (175 - 7×4 months attrition) = 186 - 147 = 39 FTE needed by June 1
  • Training + nesting duration: 8 weeks
  • End-to-end yield: 70%
  • Class size needed: 39 / 0.70 = 56 trainees across two classes
  • Class 1: 28 trainees starting April 1 (productive by June 1)
  • Class 2: 28 trainees starting April 15 (productive by June 15)

Step 6: Budget

  • Average cost per FTE: $4,200/month (fully loaded)
  • Incremental cost of 39 additional FTE for June: $163,800/month
  • Training cost: 56 trainees × 8 weeks × $1,050/week = $470,400 one-time
  • Alternative: overtime to cover gap costs $62/hour × 2,400 hours = $148,800/month (more expensive than hiring if gap persists > 3 months)

Common Template Mistakes

  1. Using annual averages for monthly planning. Demand varies by month. An annual average hides seasonal peaks where you are critically understaffed.
  2. Ignoring ramp productivity. A new hire who starts in January is not a full FTE until March-April. The capacity plan must apply the speed-to-proficiency curve to each class.
  3. Static shrinkage rates. Using 30% shrinkage year-round when actual shrinkage is 25% in January and 38% in August (summer PTO). Use monthly shrinkage rates.
  4. Not accounting for lead time. If it takes 10 weeks from requisition to productive agent, the hiring decision for a July need must happen in April. Build lead times into the template.
  5. Single-point forecasts without confidence intervals. A "forecast of 50,000 contacts" is less useful than "forecast of 50,000 contacts with 80% confidence interval of 46,000-54,000." The interval drives scenario planning.

See Also