How to build a hiring dashboard in a spreadsheet

Cover image with the title How to build a hiring dashboard in a spreadsheet and a bar chart icon in sage green and sand

You can build a useful hiring dashboard in a spreadsheet in about two hours. Use one tab for raw candidate data, one tab for definitions, and one tab for summary tables that update with formulas. Keep one row per candidate per role, record the date of each stage, and read the results monthly.

Key takeaways

  • A spreadsheet is enough for a team that hires fewer than about 30 people a year. After that, manual entry becomes the problem.
  • Use three tabs: Data, Definitions and Dashboard. Never type into the Dashboard tab.
  • Record dates, not statuses. Dates let you calculate every time metric.
  • Use drop-down lists for source, stage and decline reason to keep the data clean.
  • Protect personal data: limit access, avoid sensitive fields and delete on schedule.
x

When a spreadsheet is the right tool

A spreadsheet suits a small team, a new hiring process, or a pilot before you pay for software. It is easy to change, everyone knows how to read it, and it forces you to decide what you want to measure. It works less well when several recruiters edit the same file, when volume reaches hundreds of applicants per role, or when you need an audit trail. At that point, see our guide on choosing recruiting software if it is available, or use the questions in the section on moving on below.

Treat this dashboard as a way to learn what you need. The metrics themselves are explained in eight recruitment numbers worth tracking. This guide shows how to build them.

Step 1: Design the Data tab

One row equals one candidate applying to one role. If the same person applies to two roles, make two rows. Use these columns.

ColumnTypeNotes
Candidate IDNumberUse a code such as C-0001. Do not use names in reports.
Role IDTextA short code, such as CS-2026-01
SourceDrop-downCareer page, job board, referral, agency, outreach, event, other
Date appliedDateThe day the application arrived
Date screenedDateThe day the screening decision was recorded
Date first callDateLeave blank if no call
Date interviewDateThe date of the first interview
Date decisionDateThe day the final decision was made
Date offerDateLeave blank if no offer
Date acceptedDateLeave blank if declined or no offer
OutcomeDrop-downDeclined at screening, declined after call, declined after interview, offer declined, hired, withdrew
Decline reason codeDrop-downMissing a must-have, withdrew, accepted other offer, pay, other
Hiring manager response daysNumberDays between request and reply for this candidate
Outcome sent dateDateThe day the candidate was told

Keep names, emails and CVs in your applicant system or a separate protected folder. The dashboard needs dates and codes, not personal details. This also lowers your data protection risk. The UK Information Commissioner’s Office gives guidance on recruitment and selection, and the US Equal Employment Opportunity Commission explains record-keeping duties on its page on recordkeeping requirements.

Step 2: Add data validation

Most spreadsheet errors are typing errors. Use data validation to restrict what can be entered.

  1. Drop-down lists for Source, Outcome and Decline reason. In Google Sheets, use Data, then Data validation, then Drop-down. In Excel, use Data, then Data Validation, then List.
  2. Date rules for every date column, so text such as “next Tuesday” is refused.
  3. A check column that flags rows where a later date is earlier than a previous date. Example formula: =IF(AND(H2<>””,H2<D2),”Check”,””).
  4. Frozen header row and a filter, so people can sort without breaking the table.
  5. A named range or table for the full data area, so formulas extend as you add rows.

Step 3: Write the Definitions tab

This tab has three columns: Metric, Start event and end event, and Rule for missing data. Write them in plain language. Examples are below.

MetricDefinitionMissing data rule
Time to hireDate accepted minus Date applied, in calendar daysExclude rows with no acceptance
Time to first responseOutcome sent date or first call date (whichever is earlier) minus Date appliedExclude rows with neither
Stage conversionCount in the next stage divided by count in the current stage, for one roleShow “n/a” if the current stage has fewer than 5 people
Offer acceptance rateCount with Date accepted divided by count with Date offerShow “n/a” if fewer than 5 offers
Manager responseAverage of Hiring manager response days, by managerExclude blanks

Step 4: Build the Dashboard tab

The Dashboard tab contains only formulas. Never type numbers into it. Below are formulas that work in both Google Sheets and Excel. Replace the ranges with your own. Row 2 onward holds data, and columns follow the table above.

NumberExample formulaPlain meaning
Applicants for a role=COUNTIFS(Data!B:B,A2)Count rows with this Role ID
Hired for a role=COUNTIFS(Data!B:B,A2,Data!K:K,”Hired”)Count rows with the outcome “Hired”
Offers made=COUNTIFS(Data!B:B,A2,Data!I:I,”<>”)Count rows with an offer date
Offer acceptance=IFERROR(COUNTIFS(Data!B:B,A2,Data!J:J,”<>”)/COUNTIFS(Data!B:B,A2,Data!I:I,”<>”),”n/a”)Accepted divided by offers
Median time to hireUse a helper column on Data: =IF(J2<>””,J2-D2,””) then =MEDIAN(helper range)Middle value, not distorted by one slow hire
Applicants by source=COUNTIFS(Data!C:C,”Referral”)Count rows with that source
Stage conversion, screening to call=IFERROR(COUNTIFS(Data!B:B,A2,Data!F:F,”<>”)/COUNTIFS(Data!B:B,A2,Data!E:E,”<>”),”n/a”)Candidates with a call date divided by candidates with a screening date

Add one pivot table for each of these views: applicants and hires by source, outcomes by role, and average manager response days by manager. Pivot tables take two minutes to build and refresh with one click.

Charts that help

  • A funnel table, not a fancy chart. List the stages in order with counts and percentages. It is easier to read than most funnel charts.
  • A simple bar chart of median days between stages. The tallest bar shows where candidates wait.
  • A line of applicants per week for each open role. This shows when an advert slows down.
  • A table of open roles with days open and next action. Add a column with the owner.

Step 5: Set a routine

A dashboard that nobody updates is worse than none, because it looks accurate. Agree on three habits.

  1. Update within one working day. Whoever changes a candidate’s stage also enters the date. It takes ten seconds at the moment and an hour a week later.
  2. Check the Check column every Friday. Fix errors before they reach the Dashboard.
  3. Review once a month. Use the agenda in the metrics guide. Write actions in a text box under the numbers.

A fictional example

This example is invented to show how to read the dashboard. A small team has three open roles in one quarter: a customer support agent, an office coordinator and a bookkeeper. After two months the Dashboard shows the following.

RoleApplicantsReached interviewOffersAcceptedMedian days, application to decision
Customer support agent9682219
Office coordinator4161024
Bookkeeper1431112

What can the team learn? The office coordinator role has one offer that was declined. The decline reason column says “pay”. That is one case, not a pattern, but it is enough to check the pay range against the advert. The customer support role has a high number of applicants and 8 interviews, so the team could ask whether the screening criteria are clear enough. The bookkeeper role has few applicants, so the team could check the advert and the channels. The numbers do not give the answer. They tell you where to look.

Privacy and fairness rules for the spreadsheet

  • Limit access. Share the file only with people who need it, and remove access when people leave the team.
  • Avoid sensitive fields. Do not add columns for age, ethnicity, health or similar details to the same sheet. If you need monitoring data for fairness checks, collect it where the law allows, keep it separate, and follow the guidance of your country.
  • Use codes. Candidate IDs let you discuss patterns without exposing names in meetings.
  • Delete on schedule. Decide how long you keep rows, and delete or anonymise them when the period ends. See your country’s rules. In the EU and UK, data protection law requires you to keep personal data only as long as needed. The European Data Protection Board publishes guidance on the GDPR.
  • Do not use the sheet to decide about people. It shows process patterns. A person must make each hiring decision, using evidence from the CV and interview.

When to move beyond the spreadsheet

Signs that you have outgrown it: more than two people need to edit at once and overwrite each other; you hire more than about 30 people a year; you need to send messages from the same place; you must show who changed what and when; or you spend more than an hour a week fixing data. At that point, write down your needs first. A list of the questions to ask vendors is in our recruiting software guide when it is published. Your Data tab columns become your list of required fields.

FastHire is being built for the screening step in that process. It shows each job requirement next to the exact CV passage that supports it, so reviewers can check the evidence quickly. FastHire is coming soon. It does not rank, score or reject candidates. People make every decision.

Common spreadsheet problems and fixes

ProblemCauseFix
Numbers change when someone sorts the dataFormulas use fixed row numbersUse whole-column references or a named table
The same source appears under three namesFree-text entryReplace with a drop-down list and clean the old rows once
Median time looks too lowRows without an acceptance date are counted as zeroUse helper columns that return blank text when the date is missing
Two people overwrite each other’s changesOne shared file, no rulesAgree one owner per role, or use version history and review it weekly
Nobody trusts the dashboardErrors were found once and never explainedKeep a short change log on the Definitions tab with date and reason for each fix

A 30-minute handover note

If the person who built the dashboard leaves, the file must still work. Write a one-page note and store it on the Definitions tab. The note should say who owns the file, where the master copy is, which columns people may edit, how to add a new role, how often the data is checked and who to ask for help. Add three screenshots: the Data tab, the Dashboard tab and the drop-down list settings. Test the note by asking a colleague to add a new role and a new candidate using only the note. Every place where they hesitate is a place to improve it.

Finally, run a yearly clean-up. Archive the previous year into a separate protected file, remove personal data you no longer need, and start a new Data tab with the same columns. This keeps the sheet fast and respects your retention rules.

Frequently asked questions

Should I use Excel or Google Sheets?

Either works. Google Sheets is easier for several people editing at once. Excel is better for large files and offline work. Choose the one your organisation already supports and secures.

How many rows can a spreadsheet handle?

Both tools can handle tens of thousands of rows, but they become slow and hard to check well before that. If you pass a few thousand rows, consider a database or an applicant system.

Should I include candidate names in the sheet?

Not in the dashboard. Use IDs and keep the link between IDs and names in a protected place. This limits the harm if the sheet is shared by mistake.

How do I count time when a role is paused?

Write a rule in the Definitions tab, for example “the clock pauses while the role is paused” and add pause start and end columns. Whatever you choose, apply it to all roles.

Can I build this without formulas?

Yes. Pivot tables can produce most of the counts. Formulas are needed only for medians and some conversion rates.

Related guides

This is general information, not legal advice.