What is interview pass-through rate, and how do you measure it in Metabase?
Interview pass-through rate is an HR and recruiting metric you can track in Metabase once ATS or HRIS data is synced into a database. Interview pass-through rate measures the share of candidates who advance after an interview stage. It helps teams find stages that are too loose, too strict, or poorly calibrated.
How is interview pass-through rate defined?
- Pass-through rate = candidates advancing after an interview stage / candidates completing that interview stage.
- Measure by interview stage, job family, hiring team, and source where sample size supports it.
- Use completed interviews and subsequent stage advancement, not just scorecard recommendation text.
- Track no-shows, cancellations, and missing feedback separately.
What data does it need?
- Interview records with application_id, interview_stage, scheduled_at, completed_at, outcome, and feedback status.
- Stage history showing the next stage or final disposition after the interview.
- Job, department, location, interviewer, recruiter, and source fields for segmentation.
- Candidate withdrawal and rejection reasons so drop-off is not misclassified.
SQL pattern
WITH completed_interviews AS (
SELECT
application_id,
interview_stage,
completed_at
FROM modeled_interviews
WHERE completed_at IS NOT NULL
), advanced AS (
SELECT DISTINCT
i.application_id,
i.interview_stage
FROM completed_interviews i
JOIN modeled_application_stage_history h
ON h.application_id = i.application_id
AND h.entered_at > i.completed_at
AND h.stage_type IN ('later_interview', 'offer', 'hired')
)
SELECT
i.interview_stage,
COUNT(DISTINCT i.application_id) AS completed_interviews,
COUNT(DISTINCT a.application_id) AS advanced_applications,
ROUND(
100.0 * COUNT(DISTINCT a.application_id) / NULLIF(COUNT(DISTINCT i.application_id), 0),
1
) AS pass_through_rate_pct
FROM completed_interviews i
LEFT JOIN advanced a
ON a.application_id = i.application_id
AND a.interview_stage = i.interview_stage
GROUP BY 1
ORDER BY 1;