Sample report · synthetic demo data

The AI Spend Snapshot, un-gated.

This is the exact Snapshot a customer sees, computed live on Meridian Software, our synthetic 420-person demo company. Every dollar carries a proof level, and every finding opens its evidence: inputs, formula, and the rules version that produced it.

Meridian is deliberately untidy, so the audit has something to show. A typical audit recovers 10 to 15% of seat and subscription spend, not what you see here.

Download this as a PDFEmail it to someone

AI spend, month ending 31 Aug 2026Countedread straight off a bill, a seat list or a usage report. No guessing. Two people pulling the same numbers would get the same answer.
$47,325
the last complete month in this dataset
Paid-seat utilizationCountedread straight off a bill, a seat list or a usage report. No guessing. Two people pulling the same numbers would get the same answer.
64%
208 of 323 paid seats active
Recurring recoverable /moCountedread straight off a bill, a seat list or a usage report. No guessing. Two people pulling the same numbers would get the same answer.
$6,361
open findings, each dollar counted once
Spend by categoryCountedread straight off a bill, a seat list or a usage report. No guessing. Two people pulling the same numbers would get the same answer.
$9K
seats · $36K usage · $3K other · $0 infra
Top findings by dollar
  • OpenAI API spend spiked the week of 2026-07-06
    criticalCountedread straight off a bill, a seat list or a usage report. No guessing. Two people pulling the same numbers would get the same answer.

    OpenAI API spend spiked the week of 2026-07-06

    criticalCountedread straight off a bill, a seat list or a usage report. No guessing. Two people pulling the same numbers would get the same answer.$8,850

    Proof level

    Counted read straight off a bill, a seat list or a usage report. No guessing. Two people pulling the same numbers would get the same answer.

    Source of record

    Spend facts from card, invoice, and usage-API sources

    Inputs

    Z score
    34.17
    Week iso
    2026-07-06
    Weekly cents
    1,178,199
    Baseline weeks
    8
    Sigma threshold
    2.5
    Baseline mean cents
    293,240

    Formula

    Δ = weeklyCents − trailing-8-week mean

    Result: $8,850/mo

    Source rows

    Rules v2.1.0 · methodology 2026.07. Thresholds are editable in Settings → Assumptions.

    $8,850
  • Teams using Cursor heavily merge 16% more PRs
    criticalEstimatedworked out from assumptions you can see and change. Always shown as a range, never a single number.

    Teams using Cursor heavily merge 16% more PRs

    criticalEstimatedworked out from assumptions you can see and change. Always shown as a range, never a single number.$7,153

    Proof level

    Estimated worked out from assumptions you can see and change. Always shown as a range, never a single number.

    Source of record

    Team usage intensity + delivery telemetry (PRs merged)

    Inputs

    Cap
    0.5
    Metric
    prs_merged
    Window
    As of: 2026-08-31 · Month start: 2026-08-01
    Delta pct
    0.1596
    Tool slug
    cursor
    Threshold
    0.1
    Assumptions
    Quality adjustment: 85% · Hours per PR (baseline): 6 · Verification tax: 15% · Loaded cost / eng-hour: 110
    Cohort sizes
    Low-AI cohort: 15 · High-AI cohort: 43
    Low band mean
    18.8
    High band mean
    21.8
    Min cohort size
    8
    Low band monthly volume
    94

    Formula

    estimated = deltaPct × lowBandMonthlyPRs × hours_per_pr_baseline × loaded_cost_per_eng_hour × quality_adjustment × (1 − verification_tax_pct)

    Editable assumptions — the band recomputes live

    $5,722$8,583 /mo (midpoint $7,153) — an Estimated projection is a range, never a point.

    Source rows

    self-selection: teams chose their tools — correlation, not proof

    Rules v2.1.0 · methodology 2026.07. Thresholds are editable in Settings → Assumptions.

    $7,153
  • 1,873 USD/mo recoverable by batching Nightly evals
    mediumCountedread straight off a bill, a seat list or a usage report. No guessing. Two people pulling the same numbers would get the same answer.

    1,873 USD/mo recoverable by batching Nightly evals

    mediumCountedread straight off a bill, a seat list or a usage report. No guessing. Two people pulling the same numbers would get the same answer.$1,873

    Proof level

    Counted read straight off a bill, a seat list or a usage report. No guessing. Two people pulling the same numbers would get the same answer.

    Source of record

    Billed usage-API dollars tagged with the vendor's own service tier, plus the latency-tolerant flag an admin set on the key

    Inputs

    Label
    Nightly evals
    Vendor
    OpenAI
    Window
    As of: 2026-08-31 · Month start: 2026-08-01
    By model
    Gpt-4o: 374,633
    Tool slug
    openai_api
    Attribution key
    proj_nightly_evals
    Latency tolerant
    true
    Synchronous tiers
    0: standard · 1: priority · 2: priority_on_demand
    Batch discount share
    0.5
    Batch turnaround hours
    24
    Synchronous spend cents
    374,633
    Material spend floor cents
    25,000
    Already discounted spend cents
    0

    Formula

    recoverable = synchronous-tier spend × batch_discount_share

    Result: $1,873/mo

    Source rows

    recovery assumes the whole key's work tolerates the turnaround you asserted

    Rules v2.1.0 · methodology 2026.07. Thresholds are editable in Settings → Assumptions.

    $1,873
  • ChatGPT renews 15 Oct 2026 with 62% of paid seats idle
    mediumCountedread straight off a bill, a seat list or a usage report. No guessing. Two people pulling the same numbers would get the same answer.

    ChatGPT renews 15 Oct 2026 with 62% of paid seats idle

    mediumCountedread straight off a bill, a seat list or a usage report. No guessing. Two people pulling the same numbers would get the same answer.$1,860

    Proof level

    Counted read straight off a bill, a seat list or a usage report. No guessing. Two people pulling the same numbers would get the same answer.

    Source of record

    Contract terms (settings) + seat roster + active-day telemetry

    Inputs

    Renews on
    2026-10-15
    Tool slug
    chatgpt
    Total seats
    100
    Active seats
    38
    Active share
    0.38
    Days to renewal
    45
    Seat snapshot as of
    2026-08-31
    Utilization basis
    usage_active_days_30d
    Utilization floor
    0.7
    Renewal window days
    60
    Monthly seat cost cents
    300,000

    Formula

    trueDown = (1 − activeShare) × monthly seat cost at latest snapshot

    Result: $1,860/mo

    Source rows

    Rules v2.1.0 · methodology 2026.07. Thresholds are editable in Settings → Assumptions.

    $1,860
  • 62 unused ChatGPT seats
    mediumCountedread straight off a bill, a seat list or a usage report. No guessing. Two people pulling the same numbers would get the same answer.

    62 unused ChatGPT seats

    mediumCountedread straight off a bill, a seat list or a usage report. No guessing. Two people pulling the same numbers would get the same answer.$1,860

    Proof level

    Counted read straight off a bill, a seat list or a usage report. No guessing. Two people pulling the same numbers would get the same answer.

    Source of record

    Vendor seat roster (seat_facts snapshot) via connector sync or CSV import

    Inputs

    Inactive days
    60
    Dormancy rungs
    Dormant 30 days: 62 · 60 days: 62 · 90 days: 43 · Never used: 0
    Monthly cost cents
    186,000
    Affected seat count
    62

    Formula

    recoverable = Σ monthlyCostCents over inactive active seats

    Result: $1,860/mo

    Source rows

    Rules v2.1.0 · methodology 2026.07. Thresholds are editable in Settings → Assumptions.

    $1,860

These findings mix three kinds of dollar: one-off items (the OpenAI spike is a single week, counted once), an Estimated productivity range (shown as a range, not money in the bank), and recurring waste. The $6,361/mo recurring recoverable tile above is only the counted waste that repeats every month — each dollar counted once, so two findings on the same seat never add up twice.

How the $6,361/mo recurring recoverable breaks down, each dollar counted once:

  • 62 unused ChatGPT seats$1,860
  • 53 unused GitHub Copilot seats$1,007
  • Shadow AI spend: Jasper AI$900
  • Shadow AI spend: Descript$840
  • Shadow AI spend: Otter.ai$660
  • Shadow AI spend: Gamma$600
  • 26 engineers carry redundant coding assistants$494
  • Recurring recoverable per month$6,361

The one-off spike and the Estimated productivity range are not in this total. Where a renewal finding names the same idle seats as an unused-seat finding, the dollars are counted once.

How we estimate productivity →
Estimated productivity return
Estimatedworked out from assumptions you can see and change. Always shown as a range, never a single number.estimated — worked out from editable assumptions, shown as a range

The $6,361/mo recoverable above is the Counted, bankable win. Productivity is the Estimated half: the throughput uplift, taken as the difference between two matched teams, is worth about $7,496/mo against a $47,325/mo AI bill (-84% on a strict dollar-for-dollar basis). An Estimated uplift smaller than the whole AI bill is the norm — which is exactly why the recoverable waste, not the productivity math, is where the certain money is today.

How the Estimated value is worked out

We compare two similar teams before and after a tool rollout, turn the extra pull requests each week into hours saved, and price those hours — then render the result as a range, never a single number. The exact formula behind it:

Δprs_month = DiD_Δprs_per_eng_week × (workdays_month ÷ 5) × engineers × adoption_extrapolation; net_monthly_value = Δprs_month × hours_per_pr_baseline × loaded_cost_per_eng_hour × quality_adjustment × (1 − verification_tax_pct); netRoi = (net_monthly_value − total_ai_cost) ÷ total_ai_cost
Assumptions & sensitivity

Every Estimated number resolves through these editable assumptions and renders as a range, never a point.

  • Share of the standard price saved by running work on the batch tier (both vendors publish 50%)0.5 ratio
  • Ceiling a batched request may take to return — work that cannot wait this long is not eligible24 hours
  • Attribution keys a model needs before a best-vs-worst cache comparison is allowed2 keys
  • Price of a cached-read input token as a multiple of the base input rate0.1 ratio
  • Times a cached prefix is read back before it expires — measured from your own data where possible, this value is the fallback2 reads
  • Cache-hit rate the modeled recovery raises a low-hit-rate model to0.7 ratio