Plain-language questions
Ask for employee retention rate per month, customer or product in the SQL Explorer with AI. The AI writes the SQL, you see the query and run it yourself; the AI only receives metadata.
KPI · HR
Employee retention rate is the percentage of employees who were employed at the start of a period and are still employed at the end. People who joined during the period are excluded. It shows how well you hold on to the people you already have.
Employees employed at both start and end of the period ÷ employees at the start × 100%
On 1 January 2025 Acme Groothandel had 140 employees. On 31 December 2025, 126 of them were still employed. The employee retention rate is 126 ÷ 140 × 100% = 90.0%.
Fictitious figures for Acme Groothandel, a sample wholesaler.
A higher rate means you keep more of your existing people. Retention and turnover are not mirror images: retention only follows the group that was there at the start, while turnover also counts new starters who leave. Compare by department and by year, and focus on groups you particularly want to keep, such as specialists.
SQL & DAX
Two examples on a fictitious data warehouse for Acme Groothandel: a PostgreSQL query and a measure for a Power BI model. Adjust table and column names to your own model.
SELECT COUNT(*) AS headcount_at_start,
COUNT(*) FILTER (WHERE termination_date IS NULL OR termination_date > DATE '2025-12-31') AS still_employed,
ROUND(100.0 * COUNT(*) FILTER (WHERE termination_date IS NULL OR termination_date > DATE '2025-12-31')
/ NULLIF(COUNT(*), 0), 1) AS retention_pct
FROM employees
WHERE hire_date <= DATE '2025-01-01'
AND (termination_date IS NULL OR termination_date > DATE '2025-01-01');Retention % =
VAR StartDate = MIN ( 'Date'[Date] )
VAR EndDate = MAX ( 'Date'[Date] )
VAR Starters = FILTER ( ALL ( Employees ), Employees[HireDate] <= StartDate && ( ISBLANK ( Employees[TerminationDate] ) || Employees[TerminationDate] > StartDate ) )
VAR Stayed = FILTER ( Starters, ISBLANK ( Employees[TerminationDate] ) || Employees[TerminationDate] > EndDate )
RETURN DIVIDE ( COUNTROWS ( Stayed ), COUNTROWS ( Starters ) )In ENABLE
Ask for employee retention rate per month, customer or product in the SQL Explorer with AI. The AI writes the SQL, you see the query and run it yourself; the AI only receives metadata.
Define the KPI as a measure in your Power BI model and show it in the portal, with "Last refreshed" next to it. Access profiles and optional row-level security decide who sees which figures.
Add the KPI as a tile to a custom dashboard, compared with last year. The Dashboard Builder is a pilot and can be switched on per client.
With the built-in Targets app you set a target for the KPI per month, so you see actuals and target side by side.
FAQ
Take the number of employees at the start of the period and count how many of them are still employed at the end. Divide the second number by the first and multiply by 100%. People who joined during the period are left out.
No. Turnover counts all leavers against the average headcount, including new starters who left quickly. Retention only follows the group that was there at the start. When you hire a lot, the two figures diverge.
Usually a year, because shorter periods show few leavers and fluctuate a lot. A separate measure for new starters over their first year is also useful. Keep the period fixed so you can compare years.
In an online demo we show how ENABLE makes your data securely available and how you build on it: describing an app in the AI Builder, plain-language questions, dashboards and APIs. And how we set it up and manage it for you.