Concepts
Capacity model

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_hours

So:

  • 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?

NumberCompared againstTells you
Total CapacityBillable hrsBillable/Capacity %How much of the realistically-available time was billed.
Consulting CapacityBillable hrsBillable/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.