Halcyon Labs / Autopsy
Sample data
Start free

Autopsy / AUT-2026-08

Savings found, monthly
£818.93 /mo

on £4,472.62 spend over 30 days (29 Jul – 27 Aug) · 18.3% of monthly run rate · 4 counted findings, ranked by confidence × value.

Savings opportunity over the window
Other spendSpend behind the findings

Daily spend across the report window; the amber band is the spend flowing through the key–model pairs the counted findings identify.

Findings

ranked by confidence × value · headline sums HIGH and MED only
1
Right-size frontier-model workloadsMED

Frontier-tier spend where a mid-tier sibling exists at a large price delta. Short-output workloads (classification, extraction, routing) rarely need the frontier model.

£405.19 /mo
Formulasaving = unclaimed_frontier_spend × price_delta × 0.4 adoption
Keysevals-nightlymk-ternmk-corvid
Modelsgpt-4.1

Assumes 40% of the workload migrates after eval parity is confirmed on your own data. The price delta is computed from the observed input and output token mix.

KeyModelAlternativeSpend (window)Price deltaWorkload shapeSaving (window)
evals-nightlygpt-4.1→ gpt-4.1-mini£613.0680%mixed£196.18
mk-terngpt-4.1→ gpt-4.1-mini£371.5580%short outputs£118.90
mk-corvidgpt-4.1→ gpt-4.1-mini£281.6180%mixed£90.12
  1. Run your evals for the short-output tasks on the mid-tier model.
  2. Route classification and extraction traffic to it behind a flag.
  3. Keep the frontier model for the calls that actually earn it.
2
Stop paying for retriesMED

Same-day spikes above 5× the hourly baseline on a single key, the signature of a retry loop or runaway job burning at full price.

£205.52 /mo
Formulasaving = spike_excess_over_baseline × 0.8 recovery
Keysevals-nightly

Assumes 80% of spike spend is recoverable with idempotency keys and bounded retries. At least one key has fewer than 24 hourly data points, so its baseline rests on a thin sample — graded MED rather than HIGH for that reason.

KeySpike daysSpike hoursHourly baselineExcess (window)Saving (window)
evals-nightly2026-08-145£6.59£256.90£205.52
  1. Add idempotency keys so retried work is deduplicated, not re-billed.
  2. Bound retries: exponential backoff, max 3 attempts, then dead-letter.
  3. Set an anomaly alert. Ratelytics fires within two hours of onset.
3
Cache the repeated prompt prefixMED

2 high-volume key–model pairs ran the whole window with zero cached input tokens on cache-capable models. Repeated system prompts are billed at full input rate on every call.

£183.71 /mo
Formulasaving = unclaimed_input_cost × net_cache_discount × 0.6 adoption
Keysmk-substrateprod-api
Modelsclaude-sonnet-4

Net of the cache WRITE premium: writes are billed at 1.25× the input rate, and 25% of adopted input is assumed to be writes rather than reads — one write for every three reads. Write frequency depends on how often calls fall inside the cache TTL, which daily-granularity usage records cannot show, so it is assumed rather than measured and the finding shrinks if the real ratio is worse. Adoption assumed at 60% of eligible input tokens.

KeyModelInput tokensInput costCache discountSaving (window)
mk-substrateclaude-sonnet-4132.6M£292.4061%£107.46
prod-apiclaude-sonnet-494.1M£207.5061%£76.26
  1. Mark the static prompt prefix cacheable (system prompt, tools, few-shot examples).
  2. Move volatile fields after the cache point.
  3. Verify cached % climbs above 40% in the Ledger's By model table.
4
Caching is on, and barely hittingMED

2 key–model pairs cache but reads back under 20% of input from cache. The mechanism is already wired up; this is a tuning problem, not an adoption one.

£24.51 /mo
Formulasaving = unclaimed_input_cost × (0.6 target − observed_hit_rate) × net_cache_discount
Keysmk-corvidmk-northgate
Modelsgpt-4.1-mini

Assumes a 60% hit rate is reachable, which holds when the prefix is genuinely stable and requests fall inside the cache window. The net discount is already reduced by the cache WRITE premium. Where the prefix changes every call, no hit rate fixes it and this finding does not apply.

KeyModelHit rate nowTargetInput costSaving (window)
mk-corvidgpt-4.1-mini20%60%£68.17£13.63
mk-northgategpt-4.1-mini20%60%£54.38£10.88
  1. Check the cache breakpoint sits AFTER everything that varies per request.
  2. Confirm requests arrive inside the cache TTL; a long gap expires the entry.
  3. Watch cached % in the Ledger's By model table.
5
Review the off-hours burnREVIEW

£580.11 of window spend lands between 00:00 and 06:00 workspace-local on non-batch usage. If nothing should run at night, something is running anyway.

Formulaflag only: no saving claimed
Keysevals-nightly
Modelsgpt-4.1

Review item: night work can be legitimate (batch jobs, global users).

KeyModelNight spend (window)Share of key's spend
evals-nightlygpt-4.1£580.1167%
  1. Identify each key's night workload: cron, agent loop, or forgotten script.
  2. Kill what should not exist; batch what should.

Methodology: 30 days of provider usage APIs, priced at your rates. The headline sums HIGH and MED findings only; LOW sits under “Possible, verify first”. Reproducible: every figure recomputes from its evidence table.