Project Management

Team Capacity Planner

Optimize resource allocation based on team availability and project demands

Get this built around your data

✓ Free to download  ·  ✓ Excel 2016+ and Google Sheets  ·  ✓ Custom version in 24h

Capacity planning fails when availability is assumed rather than calculated. This planner starts from contracted hours, removes leave and non-project time, and only then allocates — so the plan is against hours that actually exist.

What the worksheet looks like

The actual columns, with sample rows

Capacity sheet: available hours derived, not assumed.
ABCDEFG
1PersonContractedLeaveNon-projectAvailableAllocated
2A. Duval1601624120134
3K. Owens160020140112
4M. Ferrer12881810298
5S. Novak160402298104

The formulas that do the work

Why each one is written the way it is

  • =[@Contracted]-[@Leave]-[@[Non-project]] Available hours. Planning against contracted hours is the most common capacity error — it assumes nobody has meetings, holidays or admin.
  • =SUMIFS(Alloc[Hours],Alloc[Person],[@Person],Alloc[Month],[@Month]) Allocated hours from the assignment sheet, so a person's load is the sum of what they were actually given.
  • =IF([@Available]=0,"",[@Allocated]/[@Available]) Utilisation. Anything sustained above about 85% has no absorption capacity, and the first slipped task cascades.
  • =IF([@Allocated]>[@Available],[@Allocated]-[@Available],0) Overallocation in hours. Reporting the hours rather than the percentage makes the conversation concrete: two people are 18 hours over, not "we are a bit stretched".

Everyone at 90%, nothing shipping

A worked example with real numbers

An agency planned against a 40-hour week and could not understand why deadlines slipped at reported 90% utilisation. Subtracting leave, standups, reviews and internal work left 30 available hours; real utilisation was 120%. Nobody was underperforming — the plan had been assigning hours that did not exist. Reducing committed work by one project restored delivery dates.

What is in the workbook

Tab by tab

Every tab in the workbook and what it is for.
TabContents
CapacityContracted, leave, non-project and available hours per person.
AllocationsAssignments by person, project and month.
LeaveBooked absence feeding the capacity calculation.
HeatmapUtilisation by person and month, with overallocation flagged.
READMEWhat counts as non-project time and how to calibrate it.

Features and related templates

What is included, and what to look at next

What it does

  • Resource availability tracking
  • Workload balancing
  • Capacity forecasting
  • Skill matrix integration
  • Project allocation
  • Leave management
  • Utilization metrics
  • Scenario planning

Need it adapted?

  • Built around your own data and column names
  • Connected to your source system
  • Delivered within 24 hours

Questions about this template

Specific to this workbook, not generic

What utilisation target is realistic?

70–80% of available hours for delivery roles. Above 85% there is no slack, and any variation — illness, a support escalation, a rework cycle — turns directly into a missed date.

How do I estimate non-project time?

Measure it for two weeks rather than guessing. Most teams find it is 15–20% of contracted hours, and most plans assume 5%.

Should part-time staff be handled differently?

Only in the contracted-hours column. Every downstream formula works on available hours, so part-time and full-time are treated identically once availability is calculated.

"This capacity planner has revolutionized how we manage our team resources. We've improved utilization rates while maintaining healthy work-life balance for our team."

- Alex M., Resource Manager