Full-Time Equivalency
Note: Screenshots in this article use data from our internal demo organisation. Any organisation IDs or user IDs visible in the screenshots reference our demo dataset, not your or any other customer's data.
🎯 Overview
Track Full-Time Equivalency (FTE) and headcount across your organisation using either contracted hours or actual hours worked.
This report:
- Calculates each employee's FTE by dividing their weekly contracted hours (or actual hours worked) by an FTE benchmark value you control
- Shows FTE and headcount totals grouped by Job Title or Contract Type within each location
- Includes raw data tabs so you can export the underlying records for payroll, finance, or workforce planning
Use this dashboard to:
- Understand how many full-time equivalent staff you have across each location, role, or contract type
- Compare contracted FTE against actual FTE based on hours worked over a chosen period
- Export per-employee FTE figures for payroll reconciliation or workforce planning
➕ Benefits
- One consistent FTE figure across the business — set the benchmark once and apply it everywhere
- Switch between contracted and actual-hours views so you can compare what staff are paid for against what they actually work
- Drill from summary totals into raw employee-level data without leaving the dashboard
🗂️ Dashboard Tabs
| Tab | What it shows | Best for |
|---|---|---|
| FTE (Contracted Hours) | FTE and headcount summary based on each employee's weekly contracted hours | Headline FTE reporting and workforce planning |
| Raw Data (Contracted Hours) | Per-employee row-level data behind the contracted-hours summary | Exporting contracted FTE figures |
| FTE (Actual Hours) | FTE and headcount summary based on actual hours worked over the selected period | Comparing planned vs actual staffing levels |
| Raw Data (Actual Hours) | Per-employee, per-shift row-level data behind the actual-hours summary | Exporting actual-hours FTE detail |
FTE (Contracted Hours)
Use this tab to view FTE based on what employees are contracted to work. It uses each employee's weekly contracted hours as at the selected Date, divided by your chosen FTE Calculation Value (the hours that constitute one full-time employee).
- Total FTE — sum of FTE across everyone matching the current filters.
- Total Headcount — count of distinct employees included in the calculation.
- Latest Data Sync — timestamp of the most recent refresh.
- Full-Time Equivalency — table grouped by Location and then by the Group By value (Job Title or Contract Type), showing each employee's Contracted Hours and FTE, with subtotals per grouping, location totals, and a grand total.
Raw Data (Contracted Hours)
The underlying employee-level data behind the contracted-hours summary, designed for download.
- Full-Time Equivalency Data — one row per employee with Employee ID, First name, Last name, Job title, Contract type, Location, Gender, Contracted Hours, FTE, Contracted hours start date and Contracted hours end date.
- Latest Data Sync — timestamp of the most recent refresh.
FTE (Actual Hours)
Use this tab to view FTE based on hours actually worked across the date range you select, rather than contracted hours. Hours are aggregated across full weeks within the selected window.
- Total FTE (Hours Worked) — sum of FTE based on actual hours worked across the selected period.
- Total Headcount (Hours Worked) — count of employees included. Each row in this card has its own inline Prorated dropdown (defaults to No) — open the dropdown inside the card to switch headcount to a prorated basis, which weights each employee by the share of the selected period they were employed.
- Dates Showing — the actual week range used for the calculation (which may differ slightly from your selected dates if they don't align with full weeks).
- Weeks Showing Warning — appears when the selected dates don't cover whole weeks, flagging that partial weeks have been adjusted.
- Latest Data Sync — timestamp of the most recent refresh.
- Full-Time Equivalency (Hours Worked) — table grouped by Location and Group By, showing each employee's Hours Worked, FTE and Headcount, with subtotals and grand totals. This card also has its own inline Prorated dropdown (defaults to No) — opening the dropdown inside the card switches the headcount column to a prorated basis.
Raw Data (Actual Hours)
The underlying shift-level data behind the actual-hours summary, designed for download.
- Full-Time Equivalency Data (Hours Worked) — one row per shift with Employee ID, First Name, Last Name, Job Title, Contract Type, Location, Gender, Shift Start Date, Shift Start Time, Shift End Date, Shift End Time and Shift Length, alongside additional payroll context columns.
- Latest Data Sync — timestamp of the most recent refresh.
🎛️ Filters
Standard Filters
- Location / Parent Location / Grandparent Location — filter by organisational hierarchy
- Job Title — filter by employee role
- Contract Type — filter by employment contract
- Full Name / Employee ID — find a specific employee
- Status — employee status (Active, Leaver, Left, Starting Soon, Deactivated). Defaults to Active and Leaver.
Report-Specific Filters
| Filter | Default | What it does |
|---|---|---|
| Date | Today | Used by the contracted-hours tabs to pick the point in time at which contracted hours are measured |
| Start Date | -- | Start of the period used by the actual-hours tabs |
| End Date | -- | End of the period used by the actual-hours tabs |
| Gender | -- | Filters to employees of a specific gender |
| All Locations Downstream From | -- | Includes every location nested under a chosen ancestor in the org hierarchy |
| Shift Type | -- | Narrows the actual-hours tabs to specific shift types |
| Type Of Work | -- | Narrows the actual-hours tabs to specific roles or types of work |
| Is Paid | -- | Restricts the actual-hours tabs to paid shifts only |
| Pay Variant | -- | Narrows actual hours to a specific pay variant |
| Include Sickness | No | Whether sickness hours count towards actual hours worked |
| Include Holiday | Yes | Whether holiday hours count towards actual hours worked |
| Include Absence | No | Whether other absence hours count towards actual hours worked |
| Include Breaks | No | Whether breaks are included in the actual hours total |
Dynamic Parameters
Two parameters change what the dashboard calculates rather than which rows feed it.
- FTE Calculation Value (default: 39) — the number of weekly hours that represents one full-time employee. Each employee's FTE is calculated as their weekly hours divided by this value. Change this to match your organisation's definition of full-time (e.g. 37.5, 40).
- Group By (default: Job title) — controls the second level of grouping in the summary tables. Choose Job title to break each location down by role, or Contract type to break it down by employment contract.
📅 Date Filtering
The two contracted-hours tabs use a single Date filter to pick the point in time at which contracted hours are measured — employees whose contracted period covers that date are included.
The two actual-hours tabs use Start Date and End Date instead, aggregating hours across full weeks within that range. If your selected dates don't align with whole weeks, the Dates Showing and Weeks Showing Warning cards flag the actual window used.
❗️ Important Definitions
- Full-Time Equivalency (FTE) — a way of expressing a workforce as the equivalent number of full-time staff. An employee's FTE is their weekly hours divided by the FTE Calculation Value. Someone contracted to 39 hours with the default value of 39 is 1.0 FTE; someone contracted to 19.5 hours is 0.5 FTE.
- Prorated headcount — on the actual-hours tab, switching Prorated to Yes (via the dropdown inside the relevant card) weights each employee's headcount contribution by the share of the selected period during which they were employed. This avoids over-counting people who started or left part-way through the window.
❓ Common Questions
Why is my FTE total different between the two FTE tabs?
The FTE (Contracted Hours) tab uses each employee's contracted hours as at the selected Date, so it reflects the workforce on paper. FTE (Actual Hours) uses hours actually worked between Start Date and End Date (with full-week alignment), so it reflects what was delivered. Differences typically come from absence, overtime, vacancies, or partial-week handling.
What does the "Weeks Showing Warning" card mean?
The actual-hours calculation works in whole weeks. If your Start Date and End Date don't line up with the start of your organisation's working week, this card appears and the Dates Showing card displays the adjusted window the calculation actually used.
Should I change the FTE Calculation Value?
Yes — set it to whatever your organisation considers a full-time week. The default of 39 is just a starting point. The value flows through every FTE figure on every tab, so a single change updates the whole dashboard consistently.
🗓️ Data Coverage
- Data freshness: Refreshes every 30 minutes via the automated data pipeline. Check the Latest Data Sync indicator on the dashboard for the exact timestamp.
⬇️ Downloading Data
- To download the current view as a PDF, click the download button in the top-right corner of the dashboard.
- To download an individual chart or table as CSV or Excel, click the download button in the top-right corner of that chart. The Raw Data (Contracted Hours) and Raw Data (Actual Hours) tabs are designed for this — one row per employee or per shift, ready to export.