What is time to fill, and how do you measure it in Metabase?
Time to fill is an HR and recruiting metric you can track in Metabase once ATS or HRIS data is synced into a database. Time to fill measures how long an open role or requisition takes to reach an accepted offer or start date. It is a role lifecycle metric, so it belongs on hiring plan and workforce planning dashboards.
How is time to fill defined?
- Typical definition: requisition_opened_at to offer_accepted_at.
- Some teams use requisition_opened_at to employee_start_date for workforce planning.
- Measure at requisition or opening grain, not application grain.
- Report p50 and p90, and segment by role family and seniority.
What data does it need?
- Jobs or requisitions with opened_at, closed_at, status, department, location, recruiter, and hiring manager.
- Offers or starts tied back to the requisition or opening.
- Opening count if one requisition can represent multiple hires.
- Pause or hold intervals if you want an active-days version.
SQL pattern
SELECT
date_trunc('month', filled_at) AS month,
COUNT(*) AS filled_requisitions,
percentile_cont(0.5) WITHIN GROUP (
ORDER BY EXTRACT(EPOCH FROM (filled_at - opened_at)) / 86400.0
) AS median_time_to_fill_days,
percentile_cont(0.9) WITHIN GROUP (
ORDER BY EXTRACT(EPOCH FROM (filled_at - opened_at)) / 86400.0
) AS p90_time_to_fill_days
FROM modeled_requisitions
WHERE filled_at IS NOT NULL
GROUP BY 1
ORDER BY 1;