LiveThreecoltsBuilt the engine and every deliverable

Amazon Recovery & Profitability Suite

2.5× overstated
Correction to initial recovery estimate
−1.30 (R² 0.76)
Rank elasticity of revenue
Gini 0.83 · HHI 1,511
Catalog concentration
20,000
Monte Carlo trials
01

The problem

Brands cannot see true per-ASIN profitability, and nobody could credibly size 3P reimbursement recovery without either guessing or overselling it.

02

What I built

One parameterized Python engine driving three analytical reports and an interactive calculator, so every number reconciles across every document. A 20,000-trial Monte Carlo forward revenue projection incorporating a seasonality index, per-ASIN lognormal estimate error, cohort growth drift, and a hero-ASIN disruption shock. Per-ASIN profitability reconstruction using modeled COGS by product line and TACoS by listing-age cohort. Bayesian shrinkage on star ratings to stop low-volume ASINs from dominating. OLS rank elasticity. Concentration analysis. And a recovery model rebuilt bottom-up on units times manufacturing cost, matching Amazon’s post-March-2025 reimbursement policy.

03

What changed

I flagged my own first recovery estimate as roughly 2.5× overstated — it had been sized as a percentage of revenue rather than bottom-up on units and manufacturing cost — and rebuilt it before it reached a partner. Sensitivity analysis on the corrected model showed average selling price largely cancels out, and the real driver of recovery rate is landed COGS as a share of retail price. That finding changed how the opportunity gets sized in every conversation since.

Run it yourself

The corrected model, in your browser

The bottom-up recovery model from the same engine, on illustrative inputs. Drag them — especially selling price — and watch which ones the recovery rate actually answers to.

Stack

PythonpandasNumPyMonte Carlo simulationBayesian shrinkageOLS regression