All case studies

Case study · Analysis

28 hours of manual reporting a month. Now it reports itself.

Stage
Series C
Team size
~500
Cadence
Monthly review
Discipline
Talent Ops

The Challenge

A stage meant one thing in the process and another in the report.

A conversion rate went to the monthly review every month, computed off that mismatch. The maths was fine. The definition underneath it wasn't, and nobody had a way to see that.

Checking it meant redoing work that already took 28 hours a month: pull the data by hand, cross-check it against spreadsheets, write it up. Days of work before anyone discussed what any of it meant.

The review stayed basic because every new cut of the data meant a hand-rebuild. It was easier to skip a question than spend a day answering it.

What We Built

A live report, wired straight to Ashby.

No exports and no spreadsheets. Claude reads Ashby directly, so every number comes from the system of record instead of a copy someone pasted last month. The report pulls, checks, and dates its own numbers on every refresh, and snapshot metrics became rolling ones.

AshbyClaude, connected directlyLive report

Your engineers will ask what the connection is. It's an MCP server for Ashby. A different ATS means a different connector, not a different approach.

The connection is read-only. It lists, reads and searches records in Ashby, and that is all it can do. There is no call in the connector that creates, updates, archives or deletes anything, so nothing in your ATS can be changed by the report.

Direct access to candidate data still gets a security review, as it should. We scope that before a line of code is written: which system, which fields, what level of access, and who signs it off. It's a normal conversation and we have it early, not after the demo.

After · pulls, checks, and dates itself

Rolling 90-day median

TechNon-tech
20d25d30d35d40dgoal 35 · techgoal 25 · non-techMar 31Apr 21May 12Jun 2Jun 23Jul 1432dtech · n=3831dnon-tech · n=145
The manual monthly report: a hand-typed block listing the time-to-hire goal, the month's actual figure, next month's goal, a confidence percentage, and three driver metrics.

Same data, two ways of reading it

Offer acceptance

55.6%

Mean time-to-hire

49 days

July on its own, measured as an average. One 815-day referral drags the whole month, and a slow week reads as a trend.

Rolling 90-day median time-to-hire

Weekly, year to date. A rolling window instead of a single month. The read stops swinging on one slow hire.

TechNon-tech
20d25d30d35d40dgoal 35 · techgoal 25 · non-techMar 31Apr 21May 12Jun 2Jun 23Jul 1432dtech · n=3831dnon-tech · n=145
Every hire this year: days to hire, by month

Bars are the monthly median. The ringed points sit above the top of the axis: every hire that ran past 200 days, the longest at 815. They are what dragged the monthly average to 49 days when the typical hire took about 32.

TechNon-tech
0d50d100d150d200dJann=54Febn=40Marn=42Aprn=72Mayn=69Junn=59Juln=54

What we delivered

28h → 0

Manual reporting per month, replaced

6 of 14

Views in the report that didn't exist before, including the first read the review ever had on candidate experience

What the report reads now

65.5%

Offer acceptance on a 90-day rolling window, in place of a volatile single month

27-32d

Median time-to-hire, steady all year once rolled

Their recruiting numbers, not our results. We measured these, we didn't cause them. What changed is that they hold up when someone in the room questions them.

The Catch That Mattered

The stage mismatch only surfaced because every metric got recomputed from scratch.

A dashboard inherits whatever definitions it is pointed at, and reports the result with a straight face. Rebuilding the conversion rate from the stage history rather than from the old report is what made the two figures disagree out loud.

That's the part a dashboard vendor can't sell you. Someone has to know what the stages are supposed to mean before any of the numbers on top of them are worth reading.

Built To Grow

New insights now cost a conversation, not a quarter.

The candidate experience survey is the test case: it wasn't in the old report at all, and adding it took an afternoon rather than a rebuild. It also immediately showed something uncomfortable, which is the point. A report you can only add good news to isn't worth having.

Candidate NPS by month

A view that didn't exist before the rebuild. Nearly all respondents are rejected candidates, so read it as rejected-candidate sentiment. May is faded because six responses can't carry a trend: the honest read is two comparable months, not a fall from fifty.

May
+50 · n=6 · small n
Jun
+32 · n=25
Jul
-12 · n=24

Enablement

Playbooks are part of the engagement, not an afterthought.

We ran a working session with the recruiting team on the practices behind the automation: stage naming, archive-reason discipline, screen-versus-interview hygiene. Recruiters keep the data clean once the report shows them their own numbers. Being shown beats being told a rule.

Outcome

Before

28 hours of manual work, once a month

After

A live report, always on

New insights now cost a conversation, not a quarter.

Find out where your team is losing output.

A short diagnostic on your funnel, your data, and where the hours are going. No pitch deck.