How Metrics Are Calculated
Every metric in Senzo is derived from the raw data uploaded to the platform. This page explains the calculation logic for each metric category so you can verify outputs, explain numbers to stakeholders, and trust the intelligence Senzo surfaces.Source data
All metrics are calculated from theworkforce_metrics table — the normalized data structure Senzo creates from your uploaded files. Each row represents one combination of:
- Period — the month (e.g. February 2026)
- Facility — the physical site
- Unit — the clinical department
- Provider Type — the staff role category
headcount, positions, fte, vacant_fte, inflow_headcount, outflow_headcount, worked_hours, overtime_hours, agency_hours, absence_hours, scheduled_hours.
Vacancy metrics
If
vacant_fte is provided directly in your upload, Senzo uses it as-is. If it is not provided, Senzo derives it as positions − fte.Hours metrics
Workforce flow metrics
avg_headcount is the average of the current and prior period headcount.
Aggregation across dimensions
When Senzo aggregates metrics across units, facilities, or provider types, it applies the following rules:
Example: Two units with OT rates of 10% and 20%:
- Unit A: 1,000 worked hours, 100 OT hours (10%)
- Unit B: 500 worked hours, 100 OT hours (20%)
- Correct aggregate: 200 OT ÷ 1,500 worked = 13.3%
- Incorrect (simple average): (10% + 20%) ÷ 2 = 15%
Period aggregation
When switching between Monthly, Quarterly, and Annual views:- Count metrics (headcount, FTE) — use the last period value within the window (point-in-time, not sum)
- Flow metrics (inflow, outflow, hours) — summed across periods
- Rate metrics — recalculated from the summed underlying counts
Derived sector and facility metrics
Sector and facility level metrics are aggregated from unit-level data using the same rules above. Units are mapped to sectors via the organization configuration in Settings.Data quality effects
Missing data affects metric availability:
Senzo will display metrics as unavailable rather than show a potentially misleading calculation when required source fields are missing.

