Regrettable Turnover: Voluntary departures of high performers, as a share of the high performers employed at the start of the period.
Formula
Regrettable Turnover = High performer departures / Total high performers × 100 Computable definition
The canonical formula in the GASP formula grammar. The MCP server compiles it to SQL over the datasets listed below.
count_distinct(field.employee_id where field.termination_type = 'voluntary' and field.is_high_performer = true and in_period(field.termination_date)) / count_distinct(field.employee_id where field.is_high_performer = true and field.employee_status = 'active') at period_start Unit: percent (the formula yields an unscaled ratio)
Notes: Denominator is high performers at period start.
Data requirements
Grain: Monthly aggregate · Frequency: Monthly · Aggregation: aggregate (month) · Staged: no · Main source: HRIS.
| Field | Dataset | Type |
|---|---|---|
employee_id | employee | string |
employee_status | employee | string |
is_high_performer | employee | boolean |
snapshot_date | employee | date |
termination_date | employee | date |
termination_type | employee | string |
Example SQL (Postgres)
SELECT (CAST((SELECT COUNT(DISTINCT employee_id) FROM employee WHERE snapshot_date = :period_end AND ((termination_type = 'voluntary' AND is_high_performer = TRUE) AND (termination_date >= :period_start AND termination_date <= :period_end))) AS DOUBLE PRECISION) / NULLIF((SELECT COUNT(DISTINCT employee_id) FROM employee WHERE snapshot_date = :period_start AND (is_high_performer = TRUE AND employee_status = 'active')), 0)) AS regrettable_turnover From an agent: with the GASP MCP server, call
lookup_metric({ "name": "Regrettable Turnover" }) or generate_query({ "metric": "Regrettable Turnover", "adapter": "<your adapter JSON>" }).
What It Tells You
Whether you are losing your best people.