{
"_links": {
"departures": "/api/payroll/turnover?from_date=2026-08-01&to_date=2026-08-31&view=primary&include_departures=true",
"employees": "/api/payroll/employees?is_active=true",
"self": "/api/payroll/turnover?from_date=2026-08-01&to_date=2026-08-31&view=primary",
"view_all_roles": "/api/payroll/turnover?from_date=2026-08-01&to_date=2026-08-31&view=all_roles",
"view_fractional": "/api/payroll/turnover?from_date=2026-08-01&to_date=2026-08-31&view=fractional"
},
"by_department": [
{
"avg_tenure_at_departure_days": 412,
"cohorts": {
"loyal_3y_plus": {
"count": 0,
"rate_pct_of_departures": 0
},
"mid_1y_3y": {
"count": 1,
"rate_pct_of_departures": 50
},
"onboarding_lt_6m": {
"count": 1,
"rate_pct_of_departures": 50
},
"short_6m_12m": {
"count": 0,
"rate_pct_of_departures": 0
}
},
"department": {
"cp": 1,
"description": "Chantier"
},
"departures": 2,
"headcount_avg": 44,
"turnover_rate": 4.55,
"vs_company_avg": {
"delta_pct": 8.7,
"is_outlier": false
}
},
{
"cohorts": {
"loyal_3y_plus": {
"count": 0,
"rate_pct_of_departures": 0
},
"mid_1y_3y": {
"count": 0,
"rate_pct_of_departures": 0
},
"onboarding_lt_6m": {
"count": 0,
"rate_pct_of_departures": 0
},
"short_6m_12m": {
"count": 0,
"rate_pct_of_departures": 0
}
},
"department": {
"description": "(non assigné)"
},
"departures": 0,
"headcount_avg": 0,
"turnover_rate": 0,
"vs_company_avg": {
"delta_pct": -100,
"is_outlier": true
}
}
],
"by_function": [
{
"avg_tenure_at_departure_days": 154,
"cohorts": {
"loyal_3y_plus": {
"count": 0,
"rate_pct_of_departures": 0
},
"mid_1y_3y": {
"count": 0,
"rate_pct_of_departures": 0
},
"onboarding_lt_6m": {
"count": 1,
"rate_pct_of_departures": 100
},
"short_6m_12m": {
"count": 0,
"rate_pct_of_departures": 0
}
},
"departures": 1,
"function": {
"cp": 12,
"name": "Charpentier-menuisier",
"number": "3"
},
"headcount_avg": 9.5,
"turnover_rate": 10.53,
"vs_company_avg": {
"delta_pct": 152.5,
"is_outlier": true
}
}
],
"cache": {
"cached_at": "2026-10-07T17:18:20",
"expires_at": "2026-10-08T17:18:20",
"force_refreshed": false,
"key_hash": "e74ae88d0e36b5771e87ece4ba3e59a30a8a80c7",
"status": "miss",
"ttl_policy": "historical",
"ttl_seconds": 86400
},
"metadata": {
"include_archived": true,
"include_departures": false,
"inference": {
"explicit": 14,
"inferred_last_pay": 18,
"inferred_updated_at": 118,
"last_pay_coverage": 144,
"missing": 0
},
"limitations": {
"departure_date_dependency": "Date de départ déduite de la dernière paie si elle n'est pas saisie",
"end_reason": "Motif de départ non disponible : départ volontaire ou non indistinct",
"multi_role_attribution": "Selon view : primary, all_roles ou fractional"
},
"outlier_threshold_pct": 50,
"sdk_indexes_used": [
"Employee Idx 10",
"Pay Idx 1",
"Function"
],
"snapshot_active_now": 47,
"snapshot_orphan_employees": 2,
"snapshot_total_employees_scanned": 201,
"view": "primary"
},
"period": {
"days_in_period": 31,
"from_date": "2026-08-01",
"to_date": "2026-08-31",
"year": 2026
},
"totals": {
"avg_tenure_at_departure_days": 412,
"cohorts": {
"loyal_3y_plus": {
"count": 0,
"rate_pct_of_departures": 0
},
"mid_1y_3y": {
"count": 1,
"rate_pct_of_departures": 50
},
"onboarding_lt_6m": {
"count": 1,
"rate_pct_of_departures": 50
},
"short_6m_12m": {
"count": 0,
"rate_pct_of_departures": 0
}
},
"departures": 2,
"headcount_avg": 48,
"headcount_end": 47,
"headcount_start": 49,
"median_tenure_at_departure_days": 412,
"turnover_rate": 4.17
}
}