Offer Creation Flow

Improving the velocity between hire decision and offer extension at recruiting scale.

Offer Creation Flow — hero

Case study

Context

Meta's recruiting engine, in raw numbers: 8,000 recruiters, 10 million candidates, 60,000 offers, 50,000 target hires. The Recruiting Products portfolio spans Application → Pre-screen → Screen → Full loop → Offer → Pre-hire, across two surfaces: the Meta Career Site + Candidate Profile (for candidates and new hires) and the Recruiter ATS (for sourcers and recruiters).

I was on the Offers team inside Recruiting Products, partnering with the Compensation Analysis team and a panel of 30+ recruiters and 3 comp analysts acting as SMEs.

Problem

Two types of offers, very different velocity profiles:

  • Standard offers — ~40% of accepted offers. No comp approval required. Can extend in one business day. Lower overall comp ceiling.
  • Above-band / negotiation offers — ~60% of accepted offers. Candidate must provide evidence. Comp approval required. Extended 5–13× slower. Higher overall comp ceiling.

Slow offer-extension velocity correlated with declining acceptance rates, weaker candidate sentiment, and worse recruiter performance — all of it amplified by massive hiring volume.

Six reasons it was slow:

  • Compensation is genuinely complex
  • Recruiters weren't great at collecting comp data
  • Candidates withheld important info
  • Recruiter tooling was poor — missing fields, unstructured input
  • Compliance guidelines were unclear
  • For comp analysts: proposals lacked detailed evidence and unstructured prose was hard to parse

To make the parsing problem concrete: two recruiters writing about the same candidate would produce wildly different free-text notes. A comp analyst then had to reconstruct structured fields — base salary, target bonus %, unvested equity, forfeited cash — from prose. Multiplied across thousands of offers, this produced repeating rejection loops: comp asks for more info, recruiter resubmits, comp asks again.

Approach

The objective was specific and measurable: improve velocity between hire-decision and offer extension by (1) increasing the volume, quality, and consistency of captured data, (2) reducing average comp approval time, and (3) reducing the number of comp requests.

User-tested an early prototype with 30+ recruiters. The signal was clear: they liked the higher level of capture detail, but the prototype produced information overload and missed the nuance of individual candidate scenarios. The redesign needed to be structured enough to be parseable, flexible enough to capture nuance.

Solution

A redesigned end-to-end Offer Creation Flow, built on a handful of specific changes.

One-click standard offer extension. Default to a Standard Offer draft and require an intentional selection to enter the custom (above-band) flow. This cleanly separated the fast path from the slow path so recruiters stopped accidentally routing simple offers through approval.

Compensation capture — one structured modal per data type, with inline validation
Compensation capture — one structured modal per data type, with inline validation.

Required, validated competing data. Where the old flow accepted free-form prose, the new flow enforced structured input with validation. A blank field could mean “0%”, “didn't disclose”, or “not given by company” — each ambiguity used to trigger a comp follow-up. With validation, that whole category of ambiguity disappeared.

From unvalidated prose to structured, validated comp capture
From unvalidated prose to structured, validated comp capture.

Tailored capture by data type, with in-UI definitions. Each compensation data type had its own purpose-built input and inline definitions of key terms, so recruiters captured only what was relevant and used consistent language with candidates.

Validation against the proposal. Competing data was now checked against the compensation proposal — ensuring proposals aligned with submitted evidence and removing whole classes of rejection loops.

Downstream effect on comp analysts. Clean, structured data flowed into the Compensation Analyst Dashboard so analysts could act on consistent inputs instead of parsing prose.

End-to-end design matrix — every comp data type, every scenario
End-to-end design matrix — every comp data type, every scenario.
Structured compensation definitions — every field has a type, allowed values, and an in-UI definition
Structured compensation definitions — every field has a type, allowed values, and an in-UI definition.

Pre-launch rigor. Ran dogfooding with 30+ recruiters using real offers; led Design QA flagging critical UX/UI issues; collaborated with content design and saw through compliance reviews.

Impact (launched July 2022 to 8k+ users)

  • 9% improvement to the overall velocity between hire-decision and offer extension
  • 51% increase in volume of captured data
  • 23.7% reduction in average compensation approval time
  • 12.2% reduction in overall compensation approval requests

Selected peer feedback (anonymized)

Extremely collaborative and thoughtful. Wrangled and incorporated feedback from a large and disparate group of cross-functional partners, filtering signal through noise to incorporate the feedback that really mattered.

PM

Had impact not just in his own work but by multiplying the impact I was able to have. Collected requirements without being asked, sped up delivery.

SWE

Provides design mocks paying attention to the smallest details; turnaround is usually very fast, enabling the team to move fast.

SWE

Did an amazing job leading design validation sessions with recruiters and the compensation team — presenting the new flow, gathering feedback, and quickly iterating.

PMM

When engineers proposed leaving some design changes for v2, immediately raised the UX risk and influenced the team to land them in v1.

PM