Analytics Catalog/Workday/Recruiting/New hire retention
Explore the catalogModulesRecruitingCost per hireSource of hireTurnover report
Workday · Recruiting · Report

Do the people we hire stay?

Cost per hire says referrals are cheap and agencies are expensive. Retention says it harder: of last year’s 20 hires, agencies kept two of four while referrals kept seven of eight. This page follows every cohort forward and ranks sources on who stays.

RuleFollow every hiring cohort forward and report retention by source. A hire that leaves in year one returns most of its cost to zero.
Neverjudge sources on cost per hire alone. The cheapest source that churns is the most expensive source you have.
This quarter’s cohort at 90 daysearly attrition, counted early.
Starts, March to May 2026Workers
Still employed at 90 days15
Left inside 90 days1
Cohort, 90-day retention 93.8%16

The 16 are the same starts the funnel bottoms out at, and the one early leaver was an agency hire. Ninety days is too soon for verdicts but exactly the right time for the first count. Sample values are illustrative, never client data.

Last year’s cohort at 12 monthsthe verdict table, by source.
Source, 2025 cohortHiresRetainedRetention %
Referral8787.5
Job board6583.3
Agency4250.0
Internal22100.0
Cohort of 2025201680.0

Here is the story the cost page cannot tell alone: agency hires cost 32,000.00 each and half were gone inside a year. Referrals cost 3,000.00 and stayed. Divide cost by the hires who remain and the source ranking rearranges itself.

The owned answerthe hire handoff joined to the leaver events.

Retention is a join between two modules: the recruiting fact’s starts and Core HR’s termination events, the same ones the turnover report counts. The talent module follows the same pattern for performance; this page follows it for survival.

-- cohort retention by source, any window
SELECT h.source,
  COUNT(*)                                        AS hires,
  SUM(CASE WHEN t.term_date IS NULL
            OR t.term_date > DATE(h.start_date, '+365 day')
           THEN 1 ELSE 0 END)                     AS retained_12mo
FROM fct_hire h
LEFT JOIN fct_termination t ON t.worker_id = h.worker_id
WHERE h.start_date BETWEEN '2025-01-01' AND '2025-12-31'
GROUP BY 1
Use case
Problem
Sources are ranked on cost per hire while the hires that leave inside a year silently return that spend to zero, cheapest-looking source first.
What we build
Hiring cohorts joined to termination events, retention by source at 90 days and 12 months, on the same population the turnover report counts.
What you get
A source ranking that survives contact with year one: cost per retained hire instead of cost per hire, and early attrition counted while it is still cheap to fix.
Which hiring source actually stays?
We build the cohort join that ranks sources on retained hires, not receipts.
Talk to us
Terms on this page
Core HR
The workforce module of this catalog; the hire handoff lands there.
cohort
Everyone hired in a window, followed forward together.
90-day retention
Share still employed at day ninety; the first honest count.
12-month retention
Share still employed after a year; the verdict number.
early attrition
A leaver inside the first year; the cost that reports as zero.
cost per retained hire
Source cost over hires who stayed; the honest ranking.
hire handoff
The recruiting start becoming a Core HR worker row.