Built hiring dashboards tracking time-to-fill, interview ratios, and close rates for senior engineering leadership
You've had an open VP of Engineering role for 14 weeks. Your best senior engineer just told you she's interviewing elsewhere because she's been acting-VP without the title or the Total Compensation. Meanwhile, the two projects that VP was supposed to own are drifting - one missed its milestone by three weeks, the other hasn't started. You know the role matters, but you haven't measured how much each week of vacancy is actually costing you.
Time-to-Fill measures the calendar days from opening a role to a signed offer. For operators, it's not an HR vanity metric - it's the conversion of a Pipeline measurement into opportunity cost per day, which lets you make rational decisions about how much to spend accelerating a hire.
Time-to-Fill is the number of calendar days between when a role is formally opened and when a candidate accepts the offer. That's it - a clock.
But clocks become powerful when you attach dollars to them. Combined with the Interview-to-Placement Ratio and Close Rate you learned in Full-Cycle Recruiting, Time-to-Fill tells you three things:
For senior engineering leadership roles, industry median Time-to-Fill runs 60-90 days. For specialized roles (ML infrastructure, platform architecture), it can stretch past 120 days.
An open role is not a neutral line item. It is an opportunity cost that accrues every day the seat stays empty.
Here's why this hits your P&L directly:
1. The salary line is misleading. When a $250K/year VP seat is empty, your Operating Statement shows $250K in unspent Labor. Finance might even call that "savings." It's not. The projects that VP was supposed to drive are stalled. The engineers who report to that role are making decisions without senior guidance - some good, some expensive. For roles that sit on the critical path of your delivery plan, the opportunity cost of the empty seat typically exceeds the salary. For roles with strong interim coverage and no urgent deliverables, this is less clear - you need to estimate it, not assume it.
2. Interim coverage has real costs. Someone is doing 60% of that VP's job right now - probably your best senior engineer or yourself. That person's actual job isn't getting done. This is a Bottleneck you created by not filling the role fast enough.
3. Time-to-Fill compounds with Churn risk. Every week a senior role stays open, the team below it gets less stable. People leave teams without leadership. If one engineer quits during a 90-day vacancy, you now have two seats to fill, and the Time-to-Fill clock on the second one hasn't even started.
4. It constrains your capacity. If you're running a Cost Center (engineering org) and you've budgeted for a team of 12, but you're operating at 10 for four months because of slow hiring, you delivered a quarter at 83% capacity. That's not a hiring problem - that's a delivery problem with hiring as root cause.
Track three timestamps for every open role:
Time-to-Fill = T_accept - T_open (in calendar days).
Some teams also track Time-to-Start (first day on the job), but for planning purposes, T_accept is when you can stop the clock on the vacancy cost.
From Full-Cycle Recruiting, you know hiring is a Pipeline with conversion rates at each stage. Time-to-Fill decomposes the same way:
| Stage | Typical Duration | What Drives It |
|---|---|---|
| Sourcing to first screen | 7-14 days | Pipeline Volume, job post quality, recruiter effort |
| Screen to final-round interview | 7-21 days | Scheduling speed, interviewer availability |
| Final-round interview to offer | 3-10 days | Decision speed, Total Compensation approval chain |
| Offer to accept | 3-14 days | Close Rate, competing offers, negotiation |
Total: 20-59 days at the fast end, 60-120+ at the slow end.
The vacancy cost formula below requires an estimate of what a role produces in a year. This is the hardest input to the formula and the one most people skip - but the entire framework rests on it, so you need at least a defensible rough number.
A starting heuristic based on Total Compensation:
The logic: if a role's output were worth less than 1x what you pay for it, the role shouldn't exist. For roles that gate Revenue or unblock multiple teams, the multiplier is higher because their absence creates cascading delays across the org.
These multipliers are rough floors, not ceilings. When in doubt, run a Sensitivity Analysis: calculate vacancy cost at 1.2x, 1.5x, and 2.0x Total Compensation. If the decision (spend to accelerate vs. wait) stays the same across that range, the exact estimate doesn't matter. If the decision flips, you need a sharper number - talk to the hiring manager about exactly which milestones stall without this person.
The Shadow Price of an empty seat is the value that person would have produced minus whatever interim coverage captures. The formula:
Daily vacancy cost = (Annual output value / 250 working days) x (1 - interim coverage factor)
For example, if you estimate a role's annual output at $500K/year and interim coverage captures 40% of the scope:
Daily vacancy cost = ($500,000 / 250) x (1 - 0.40) = $2,000 x 0.60 = $1,200/day
Over a 90-day vacancy, that's $108,000 in estimated lost output - on top of whatever you're spending on recruiting.
A useful hiring dashboard tracks:
The vacancy cost accumulator is the number that turns a passive dashboard into an active decision tool. When leadership sees "this open role has cost us an estimated $84,000 in lost output so far," the conversation about paying a recruiting fee or increasing the offer changes entirely.
Always track it. Act on it selectively.
Track Time-to-Fill for every role because the data compounds - after 20 hires, you have a reliable base case for how long each role type takes, which lets you plan capacity and project timelines honestly.
Act on it (spend money to accelerate) when:
You opened a VP Engineering role on January 6. The role pays $280K base + $70K in Equity Compensation = $350K Total Compensation. This VP owns a platform team whose Throughput directly gates Revenue delivery, so you apply a 1.7x multiplier on Total Compensation to estimate annual output value: 1.7 x $350K = ~$600K. Interim coverage from a senior staff engineer captures about 35% of the VP's scope. Your historical Time-to-Fill for VP-level roles is 75 days.
Calculate daily vacancy cost: ($600,000 / 250 working days) x (1 - 0.35) = $2,400 x 0.65 = $1,560/day
At the 75-day base case, expected total vacancy cost = 75 x $1,560 = $117,000
You're at day 50 with no finalist candidates. Your Pipeline has 3 candidates in the screening stage and 0 past final-round interview. At your historical Interview-to-Placement Ratio of 8:1, you need at least 8 final-round interviews to land one hire. With 3 in the funnel and a 50% screen-to-interview conversion, you'll get ~1.5 final-round interviews from the current Pipeline - nowhere near enough.
Decision: engage a recruiting firm on an upfront fixed fee of $70,000 (25% of base salary). The firm estimates 30-day placement from engagement. If they deliver, your total Time-to-Fill = 80 days (50 elapsed + 30 more). Vacancy cost = 80 x $1,560 = $124,800. Without the firm, your realistic Time-to-Fill is 120+ days based on current Pipeline Velocity. Vacancy cost = 120 x $1,560 = $187,200.
Net comparison: With firm = $124,800 vacancy cost + $70,000 fee = $194,800 total. Without firm = $187,200 vacancy cost + internal recruiting time. On paper, the firm costs ~$7,600 more. But that comparison rests entirely on your $1,560/day vacancy estimate. Run a Sensitivity Analysis: if the true daily cost is $1,750/day (applying a 2.0x multiplier instead of 1.7x), the 40-day gap between options is worth $70,000 - exactly the fee. The recruiting fee is a known number. The vacancy cost is an estimate with upside risk. For critical-path roles, the estimate is almost always conservative.
Insight: The decision to spend on acceleration depends on how accurately you estimate the vacancy's Shadow Price. The recruiting fee is a fixed, known cost. The daily vacancy cost is an estimate. Run the Sensitivity Analysis: if the decision flips within a plausible range of output-value multipliers (say, 1.5x to 2.0x Total Compensation), the fixed-cost option - pay the fee, cap the timeline - is usually the safer bet. For roles with strong interim coverage and no critical path dependency, patience is cheaper.
Your engineering team has 4 open senior engineer roles. Average Time-to-Fill over the last year was 45 days. Current average for these 4 roles is 68 days and climbing. You break down stage durations from your dashboard.
Stage timing for current 4 roles (averaged): Sourcing to screen = 10 days (historical: 8 days - normal). Screen to final-round interview = 28 days (historical: 14 days - RED FLAG). Final-round interview to offer = 7 days (historical: 5 days - slightly slow). Offer to accept = 5 days (historical: 4 days - normal).
The Bottleneck is screen-to-final-round interview. 28 days vs. 14-day historical average. You investigate: interviewers are overloaded with deadline-driven project work and keep rescheduling panels. Two of your best interviewers are on a critical path project and have blocked their calendars for 3 weeks.
Fix: Reduce the interview panel from 5 people to 3 for the initial round (you can add a follow-up round for finalists). Designate 2 protected interview slots per week per interviewer. This cuts screen-to-final-round interview back to ~16 days.
Projected new Time-to-Fill: 10 + 16 + 7 + 5 = 38 days. That's faster than your historical base case, because you found and fixed the Bottleneck.
Insight: Time-to-Fill is a sum of stage durations. When the total is too high, decompose it. The fix is almost never 'try harder at every stage' - it's finding the one stage where time is piling up and removing the constraint. This is the same Bottleneck logic you'd apply to any production Pipeline.
Time-to-Fill is a clock, but the dollar value of each day on that clock is what makes it actionable - estimate the Shadow Price of every open senior role using a multiplier on Total Compensation scaled to how close the role sits to the critical path
Decompose Time-to-Fill into Pipeline stages to find the Bottleneck; fixing one slow stage is more effective than pressuring every stage equally
The decision to spend money accelerating a hire (agency fees, higher offers, relaxed requirements) is a comparison of a known acceleration cost vs. an estimated remaining vacancy cost - run a Sensitivity Analysis when the decision is close
Treating the unspent salary of a vacant role as savings on the P&L - the Operating Statement shows lower Labor cost, but the lost output and downstream delays typically exceed the salary for roles on the critical path. For roles with strong interim coverage and no urgent deliverables, this is less certain - estimate the Shadow Price rather than assuming it dominates.
Tracking Time-to-Fill as a single company-wide average instead of segmenting by role level and function - a 45-day average that blends junior hires (30 days) with VP hires (90 days) tells you nothing useful and creates false comfort
You have an open Director of Data Engineering role (base salary $240K + $80K Equity Compensation = $320K Total Compensation, estimated annual output value $480K using a 1.5x multiplier). Interim coverage from the existing team handles about 50% of the scope. You're at day 40 with 2 candidates past final-round interview and your historical Close Rate for director-level offers is 50%. Your historical Time-to-Fill for director roles is 65 days. A recruiter approaches you with a placement-only arrangement: you owe the fee (20% of base salary = $48K) only if their candidate is the one who accepts the offer. They claim they can deliver a hire in 25 days. Should you engage them?
Hint: Calculate the daily vacancy cost with 50% interim coverage. Then compare the Expected Value of total cost under two scenarios: (1) continue with your current Pipeline only, vs. (2) add the recruiter as a parallel path. Your 2 candidates past final-round interview at a 50% Close Rate give you a meaningful probability of closing without the recruiter. But also examine what happens in the worst-case branch of each scenario - look at both the dollar outcome and the time outcome separately.
Daily vacancy cost = ($480,000 / 250) x (1 - 0.50) = $1,920 x 0.50 = $960/day.
Scenario 1 (current Pipeline only): 2 candidates past final-round interview with 50% Close Rate each. Probability of at least one accepting = 1 - (0.50 x 0.50) = 75%. If one closes (75% probability), estimated remaining Time-to-Fill ~10 days (offer + accept), total ~50 days. If neither closes (25% probability), you restart sourcing and realistic Time-to-Fill extends to ~100 days. Expected vacancy cost = 0.75 x (50 x $960) + 0.25 x (100 x $960) = $36,000 + $24,000 = $60,000.
Scenario 2 (add recruiter in parallel): You still run your 2 candidates - the recruiter is a backstop. If your current candidates close first (75% probability), total ~50 days, no recruiter fee owed (placement-only means you pay nothing unless their candidate fills the role). If neither current candidate closes (25% probability), the recruiter delivers at day 65 (40 + 25). Cost in that branch = 65 x $960 vacancy + $48,000 fee = $62,400 + $48,000 = $110,400. Expected total cost = 0.75 x (50 x $960) + 0.25 x ($110,400) = $36,000 + $27,600 = $63,600.
The Expected Value comparison: $63,600 vs. $60,000 - the recruiter adds only $3,600 in expected cost.
The tradeoff in the worst-case branch that you must understand: In the 25% failure branch, Scenario 2 costs more in dollars ($110,400 vs. $96,000 - a $14,400 difference). The recruiter makes the worst-case dollar outcome worse. But it makes the worst-case time outcome dramatically better: 65 days vs. 100 days. Why does capping time matter independently of the dollar comparison? Three reasons. First, the $960/day estimate assumes constant daily damage, but vacancy damage tends to accelerate - the longer the team operates without a director, the more likely a team member departs, which would create a second open seat and push real costs far past $96,000. Second, 100 days of vacancy signals to the team that the role may never be filled, which erodes confidence and compounds Churn risk non-linearly. Third, the $960/day figure rests on a 1.5x Total Compensation multiplier - if the true multiplier is even 1.7x, the 35-day time savings alone is worth more than the $14,400 dollar penalty.
Engage the recruiter. The $3,600 in expected cost buys you a hard cap on your worst case at 65 days instead of leaving it open-ended at 100+.
Your hiring dashboard shows the following Time-to-Fill data for 8 senior engineer hires completed this quarter: 32, 38, 41, 44, 47, 52, 78, 95 days. Calculate the median and mean. Then explain why the difference between them matters for planning your next hire's timeline and Budget.
Hint: The mean is sensitive to outliers. The median is not. Think about which number you'd use to set expectations with your CEO vs. which one you'd use to set your Budget for recruiting costs.
Mean = (32+38+41+44+47+52+78+95) / 8 = 427 / 8 = 53.4 days. Median = average of 4th and 5th values = (44+47) / 2 = 45.5 days. The mean is pulled right by two slow hires (78 and 95 days) - the distribution has right Skew.
For planning: the median (45.5 days) is a valid estimate of the Expected Value for any single hire - it tells you the most likely outcome. Use it as your base case when setting expectations with leadership: 'A typical senior engineer hire takes about 45 days.'
But for Budget planning, use the mean (53.4 days) or the 75th percentile (~65 days), because your Budget must absorb the full distribution including the expensive right tail. If you budget recruiter time and vacancy cost at the median but 25% of your hires take 78+ days, you'll consistently overshoot your Budget.
The median captures the center of the distribution. The mean captures the Skew - the fact that slow hires are much slower than fast hires are fast, which pulls total cost above what the midpoint predicts. When you're planning a single hire, the median is your best guess. When you're budgeting across many hires, the mean (or a higher percentile) accounts for the reality that the right tail adds disproportionate cost.
Time-to-Fill builds directly on Full-Cycle Recruiting by putting a clock and a dollar value on the hiring Pipeline you learned to manage. Where Full-Cycle Recruiting taught you to think about conversion rates (Interview-to-Placement Ratio, Close Rate, Pipeline Volume), Time-to-Fill teaches you to think about speed through that Pipeline and the opportunity cost of slowness. This connects to P&L ownership - when you can quantify the Shadow Price of a vacancy using a defensible multiplier on Total Compensation, you can make rational Budget decisions about when to spend money accelerating hires vs. when to be patient. It also connects to Bottleneck analysis from Operations: diagnosing which Pipeline stage is slow is the same discipline as finding the constraint in any production system. And the Sensitivity Analysis technique from this lesson - testing whether your decision changes across a range of estimates - applies every time you face a decision built on uncertain inputs, which is most of the time. Downstream, understanding Time-to-Fill prepares you for broader capacity planning and resource allocation decisions - if you know how long it takes to add people, you can plan project milestones honestly instead of assuming instant hiring.
Disclaimer: This content is for educational and informational purposes only and does not constitute financial, investment, tax, or legal advice. It is not a recommendation to buy, sell, or hold any security or financial product. You should consult a qualified financial advisor, tax professional, or attorney before making financial decisions. Past performance is not indicative of future results. The author is not a registered investment advisor, broker-dealer, or financial planner.