Forge Receivables Intelligence

# Cash Recovery Engine

Point your collection team at the invoices where a human touch actually changes the outcome. Move the capacity dial and watch the engine re-optimize the worklist to maximize recovered cash per collector-hour — live.

Demo runs on a synthetic AR ledger with a known causal ground truth. Numbers here are a model demonstration, not a company's audited cash. See the proof report.
–
Projected cash accelerated
–
vs FIFO at equal hours
realized on benchmark
–
Invoices on worklist
–
Open receivables analysed

## Collection capacity

Collector-hours this period
Equivalent to – full-time collectors (40h/wk). The engine packs the highest expected-cash-per-hour invoices into this budget.

## Where the hours go

Segments are assigned by the uplift model: Persuadable accounts are the moveable middle a call actually converts.

## Cash recovered vs collector-hours

Cash Recovery Engine (uplift × $/hour) FIFO (oldest first) Largest balance first Random
Cumulative recovered cash as the budget grows, scored on the benchmark's known outcomes. The gap between the green line and the rest is the cash conventional worklists leave on the table.

## Prioritized worklist — top of queue

# | Invoice | Customer | Segment | Amount | DPD | Self-cure | Uplift | Exp. cash | $/hour | Recommended action
--- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ---

Showing the top 40 of – selected invoices. Uplift = increase in payment probability if a collector works the account; the engine maximizes amount × uplift ÷ effort under your hours budget.

Verified snapshot: self-cure AUC ≈ 0.82, calibration ECE ≈ 0.02, engine recovers ≈ 2.9× the cash of FIFO at equal hours (`verify.mjs`, held-out benchmark). This page re-runs the exact deterministic optimizer from `src/optimize.mjs` on the engine's verified scores — drift guard: scores come from `public/ledger.js`, regenerated by `node run.mjs`.