# Figure index

The article figures are generated by `scripts/make_figures.py`.

1. `01_portfolio_footprint.png`: unit volume by customer and brand.
2. `02_portfolio_weekly_dynamics.png`: weekly portfolio demand and promotion intensity.
3. `03_cell_demand_price_promo.png`: one SKU/customer cell showing demand, price and promotion timing.
4. `04_commercial_confounding.png`: price/promotion and price/retailer-media relationships.
5. `05_true_elasticity_landscape.png`: synthetic true elasticity across all 60 cells.
6. `06_confounding_matrix.png`: correlation matrix for key commercial drivers.
7. `07_bad_price_trace.png`: trace plot for a badly mixing price elasticity.
8. `08_bad_chain_posterior_overlay.png`: separate chain posterior densities under non-convergence.
9. `09_reference_chain_posterior_overlay.png`: chain posterior densities after non-centred reparameterisation.
10. `10_rhat_by_variable.png`: maximum rank R-hat by model block and fitting stage.
11. `11_ess_before_after.png`: minimum bulk ESS through the repair workflow.
12. `12_sweep_methodology.png`: high-level prior-sweep workflow.
13. `13_sweep_frontier.png`: PSIS overlap and reweighting ESS across candidate priors.
14. `14_elasticity_before.png`: bad-fit elasticities versus synthetic truth.
15. `15_elasticity_after.png`: sweep approximation and validation refit versus truth.
16. `16_aster_elasticity_alignment.png`: one brand across customer and variant cells.
17. `17_elasticity_rmse_path.png`: elasticity error through each stage.
