What goes in a hiring plan dashboard in Metabase?
A hiring plan dashboard compares hiring demand with recruiting progress: open roles, accepted offers, starts, requisition aging, and plan vs. actual headcount. It sits between recruiting, finance, and department leadership.
Which cards belong on this dashboard?
- Open requisitions by department and priority
- Plan vs. accepted offers and starts by month
- Median time to fill
- Roles at risk by days open or target start date
- Openings by recruiter and hiring manager
- Filled roles by department, location, and role family
What data does this dashboard need?
- Requisitions or jobs with opened_at, target_start_date, status, department, location, openings, recruiter, and hiring manager.
- Offers and accepted starts tied back to requisitions.
- Headcount plan or approved positions by month, department, and role family.
- Worker starts from HRIS when start-date accuracy matters.
How do you build it?
- Sync ATS or HRIS data into a database, then connect that database to Metabase.
- Create reusable models for jobs or requisitions, applications, stage history, interviews, offers, sources, workers, and organizations as needed.
- Create one saved question per card, using consistent metric definitions and permissioned models.
- Add dashboard filters for department, location, role family, recruiter, hiring manager, source, and date range.
Example card SQL
SELECT
department,
hiring_manager,
COUNT(*) AS open_requisitions,
COUNT(*) FILTER (WHERE CURRENT_DATE - opened_at::date > 60) AS over_60_days_open,
percentile_cont(0.5) WITHIN GROUP (
ORDER BY CURRENT_DATE - opened_at::date
) AS median_days_open
FROM modeled_requisitions
WHERE status = 'open'
GROUP BY department, hiring_manager
ORDER BY over_60_days_open DESC, open_requisitions DESC;