Capacity model
How "Total Capacity" and "Consulting Capacity" are computed for every person, every period.
From working days to capacity
The chain, applied to one period (a week, month, quarter, year, …):
working_days = Mon–Fri days in the period
holiday_days_in_wd = Zurich public holidays that fall on a working day
engagement_hours = working_days × 8h × FTE%
public_holiday_hours = holiday_days_in_wd × 8h × FTE%
absence_hours = logged WFM absence entries (vacation, sick, etc.)
total_capacity = engagement_hours
− public_holiday_hours
− absence_hoursSo:
- Engagement hours is the raw expected work — every working day at 8 h, regardless of holidays or absences.
- Total Capacity is what's actually left after the calendar (PH) and any logged absences.
Consulting Capacity
A second multiplier represents how much of Total Capacity we realistically expect to be billable consulting time:
consulting_capacity = total_capacity × role_multiplier × (1 − sum(rules))- role_multiplier — built-in. Employee = 90 %, Manager = 70 %.
- sum(rules) — each per-staff rule from Capacity Influencer reduces by an additional percentage over its date range. Rules stack additively; pro-rated by overlapping days; capped at 100 %.
Why two capacity numbers?
| Number | Compared against | Tells you |
|---|---|---|
| Total Capacity | Billable hrs → Billable/Capacity % | How much of the realistically-available time was billed. |
| Consulting Capacity | Billable hrs → Billable/Consulting % | How much of the time we expect to be billable was actually billed. |
The two land in different bands intentionally: 70 % billable against Consulting Capacity is the same kind of "healthy" as ~50 % against Total Capacity, given the role multiplier.
FTE %
FTE % is the staff member's current fraction of full-time in WorkflowMax. It scales every formula above proportionally.
For the overtime report (only), the per-staff FTE history table under Staff Admin → FTE history lets an admin record the FTE that applied at each historical period — so months when David was 60 % use 60 %, not today's 100 %.
For all the other metrics pages today's FTE applies. Adding historic FTE everywhere is on the roadmap.