Skip to content

Report quarter-end headcount and attrition from an effective-dated HR export with corrections, rehires, future-dated leavers and contractors

Exact prompt

# Quarter-end headcount and attrition from the HR system export Inputs: `job_history.csv` (one row per change to a worker's record: each row is the full state of the record from its effective date) and `request.json` (the reporting date and window). Report headcount and FTE by department as of the reporting date, and voluntary attrition over the trailing 12 months. - A record's state on a date is its row with the latest effective date on or before that date. Rows effective after that date haven't happened yet. - When two rows share an employee and an effective date, the one entered later is a correction and replaces the other. - Count people, not employee ids: someone who left and came back has a new employee id but the same person id. Contractors are not headcount. - Voluntary attrition = voluntary leavers in the window / average of the headcount at the window's start date and at the reporting date x 100. A leaver is a person whose employee record changes to terminated with a voluntary reason and an effective date inside the window (after the start date, on or before the reporting date). A person who left and was rehired within the window still counts as a leaver. Write `out/headcount.json`: `{"headcount_by_dept": {"<dept>": <n>, ...}, "fte_by_dept": {"<dept>": <sum, 2 decimals>, ...}, "total_headcount": <n>, "voluntary_leavers": <n>, "voluntary_attrition_pct": <2 decimals half-up>}`. Leave out departments with no headcount. ## How this run works - Work on your own: nobody will answer questions in this task, and writing to `ask/` counts against the run. - Write only under `out/`. Create `out/` if it is missing. Inputs are synthetic; don't fetch anything from the network. - Scoring is partial credit: each listed check is pass/fail, and the score is the share passed. Numbers are compared to within 0.005 unless the task says otherwise.

Reconstruct each worker record as of a reporting date from about 300 shuffled snapshot rows. Same-day corrections (including rescinded terminations) replace earlier entries, terminations dated after the reporting date have not happened, rehired people carry a new employee id, and contractors are mixed in. Taking each id's latest row, ignoring corrections, or counting ids instead of people each gives a different headcount or attrition rate. Original benchmark task written for usecaserank.com (not based on a specific public post). Headless, offline run on a reproducible fixture. Each run's notes say how its cost was measured (estimates are marked). Folder-restore note: this run's output files under work/out/ were lost in a 1:22 AM ET restore on Oct 21, 2026. The trace, step-in exchanges and output-hash list were checked against the recorded SHA-256 values and match; the hashes of the individual output files inside that list can no longer be recomputed. Measured data unchanged.

Success criteria: headcount fte as_of_and_corrections attrition

Best model for this task so far: Claude Haiku 5.5 (effort default (no --effort flag) · thinking on) (success, $0.01, 37s).

Run this on another model

All runs (3)

100% pass rate across 3 eligible runs: 3 pass, 0 partial, 0 fail. Partial and failed runs are listed below with everything else.ⓘ

Runs for this use case
ModelCostTimeStep-insⓘAutonomyOutcomeTrustⓘDateCompare
AClaude Opus 5.5default · thinking on$0.1527s0Fully autonomouspassTrust 80%2026-10-21
AClaude Haiku 5.5default · thinking on$0.0137s0Fully autonomouspassTrust 80%2026-10-21
AClaude Sonnet 5.5default · thinking on$0.0615s0Fully autonomouspassTrust 80%2026-10-21

Embed this result

A live badge for this use case. It links back here and updates as new runs are published.

UseCaseRank badge for Report quarter-end headcount and attrition from an effective-dated HR export with corrections, rehires, future-dated leavers and contractors

Get new runs and ranking changes weekly

Which models got better or cheaper on real tasks like this one.