The same analysis, as twelve different reporting deliverables.
Whatever reporting tool you already run, the analysis underneath does not change — only the thing that lands on your desk does. Six published projects, each laid out the way one tool would present it, with every figure read from that project's results.
These are renderings in each tool's idiom, not screenshots. We have not deployed your Power BI tenant; we are showing you the shape of the deliverable.
By the tool you already run
Four defensible readings of one table — real figures from What the raw table costs you, laid out as Excel would present them. A rendering, not a screenshot.
=MAX(C2:C5)-MIN(C2:C5)| A | B | C | D | |
|---|---|---|---|---|
| 1 | treatment | lines | revenue USD | vs naive raw USD |
| 2 | raw, naive q x p | 1,067,371 | 19,287,250.57 | 0 |
| 3 | raw, cancellations removed | 1,047,877 | 20,813,918.43 | 1,526,667.86 |
| 4 | shared load_clean() | 1,024,826 | 20,050,680.95 | 763,430.38 |
| 5 | load_clean() + sheet dedup | 1,003,214 | 19,642,692.15 | 355,441.58 |
The spread in D5 is $2,366,335 — the gap between the highest and lowest defensible reading of the same table.
Forecast accuracy against the baselines — real figures from Weekly SKU demand forecasting, laid out as Power BI would present them. A rendering, not a screenshot.
Actual against forecast on the held-out weeks. The model beats a four-week moving average, and the card says by how little.
Which export markets survive scrutiny — real figures from Forty-three countries, and how many of them are actually markets, laid out as Tableau would present them. A rendering, not a screenshot.
| Market | Growth | 95% CI on growth | Verdict |
|---|---|---|---|
| Netherlands | +2.4% | [-40%, +69%] | indistinguishable from flat |
| EIRE | -23.7% | [-48%, +12%] | indistinguishable from flat |
| Germany | +14.3% | [-8%, +43%] | indistinguishable from flat |
| France | +45.0% | [+10%, +97%] | growth signal |
| Australia | +367.1% | [+39%, +1776%] | raw p<=0.05 but fails multiplicity correction |
| Spain | +33.6% | [-24%, +153%] | indistinguishable from flat |
Forty-three country labels in the file. One market shows growth that survives both multiple-comparison correction and clustering.
Retention and revenue by cohort age — real figures from Cohort retention and the part of LTV that is a drawing, not a measurement, laid out as Looker would present them. A rendering, not a screenshot.
| Month since first purchase | Retention % | Revenue per acquired customer (USD) | Revenue per active customer (USD) |
|---|---|---|---|
| 0 | 100.00 | 459.23 | 459.23 |
| 1 | 20.19 | 92.41 | 457.59 |
| 2 | 20.59 | 96.40 | 468.19 |
| 3 | 21.20 | 104.81 | 494.41 |
| 4 | 18.70 | 97.62 | 521.93 |
| 5 | 18.67 | 95.86 | 513.35 |
| 6 | 18.55 | 94.30 | 508.27 |
Retention by cohort age, with the observed part separated from the extrapolated part — the difference between a measurement and a drawing.
A repricing what-if that spans zero — real figures from Price elasticity per SKU, and why the obvious repricing win is not there, laid out as Streamlit would present them. A rendering, not a screenshot.
The controls are inert here. In the delivered app they move the range — and the range spans zero, which is the finding.
The k = 2 validation scorecard — real figures from Are the segments real? Validating k-means on 440 wholesale customers, laid out as Jupyter would present them. A rendering, not a screenshot.
scorecard = validate(X, k_range=range(2, 9), null="unimodal", n_boot=500) scorecard| k | silhouette > unimodal-null p95 | gap statistic 1-SE rule selects this k | bootstrap stability >= 0.75 | smallest cluster >= 5% of n | Tests passed |
|---|---|---|---|---|---|
| 2 | PASS | PASS | PASS | PASS | 4/4 |
| 3 | PASS | fail | fail | PASS | 2/4 |
| 4 | fail | fail | fail | PASS | 1/4 |
| 5 | PASS | fail | fail | PASS | 2/4 |
Two clusters pass all four tests. The elbow would have picked four, and three of the four tests reject it.
By practice
What each engagement actually hands over. Three of these are not things a reporting tool produces at all — a data contract, warehouse documentation and a model card come out of the work itself.
An accuracy pack scored against every baseline — real figures from Weekly SKU demand forecasting. A rendering of the deliverable, not a screenshot.
| Method | Aggregate WMAPE | Per-SKU median WMAPE | Total bias | WMAPE vs best baseline |
|---|---|---|---|---|
| Naive (last week) | 0.8278 | 0.8809 | -18.8% | -14.4% |
| Moving avg (4wk) | 0.7239 | 0.7915 | -27.9% | +0.0% |
| Seasonal naive (52) | 1.17 | 1.24 | +46.6% | -61.0% |
| Train mean | 0.7582 | 0.8332 | -13.7% | -4.7% |
| Ridge | 0.8058 | 1.00 | +1.6% | -11.3% |
| GBM (log target) | 0.6824 | 0.7762 | -22.4% | +5.7% |
| GBM (mean loss) | 0.9234 | 1.02 | +32.6% | -27.6% |
| GBM (median loss) | 0.6848 | 0.7761 | -26.6% | +5.4% |
Every baseline the model was scored against, not just the one it beat. A pack that shows only the winning comparison is a sales document.
A data contract with an owner against every rule — real figures from What the raw table costs you. A rendering of the deliverable, not a screenshot.
| Rule | Severity | Owner | Rows failed | At risk |
|---|---|---|---|---|
table.one_description_per_sku | major | Merchandising | 419,803 | 8,943,504.92 |
customer_id.not_null | critical | CRM | 243,007 | 3,070,489.25 |
description.no_padding | major | Merchandising | 213,035 | 3,686,737.78 |
table.grain_invoice_sku | minor | Order Management | 45,947 | 522,621.84 |
table.natural_key_unique | critical | Data Platform | 34,337 | 432,268.72 |
price.positive_on_products | critical | Pricing | 6,116 | 487,414.57 |
Every rule has an owner, because a failing rule with nobody against it is a report rather than a control.
Warehouse docs, including the tests that fail — real figures from A warehouse that reconciles: dimensional model, tests and lineage over Online Retail II. A rendering of the deliverable, not a screenshot.
| Table | Rows | Columns | Size |
|---|---|---|---|
stg_transactions | 1,024,826 | 15 | 21.98 MB |
stg_cancellation | 18,226 | 14 | 2.56 MB |
dim_date | 739 | 14 | 0.06 MB |
dim_country | 43 | 12 | 0 MB |
dim_product | 4,891 | 18 | 0.56 MB |
| Test | Table | Severity | Rows |
|---|---|---|---|
unique(stock_code_upper) | dim_product | warn | 170 |
unique(description) | dim_product | warn | 200 |
known customer ships to one country | dim_customer | warn | 12 |
The failing tests ship with the docs. Deleting them to get a green build is the one thing that makes the suite worthless.
A board pack whose drivers reconcile — real figures from Which decisions move revenue, and how much reporting is dead weight. A rendering of the deliverable, not a screenshot.
| Driver | Retail year 1 | Retail year 2 | Change | USD contribution |
|---|---|---|---|---|
| Orders (invoices) | 19,743 | 18,957 | -4.0% | -394,660.00 |
| Lines per order | 24.35 | 27.40 | +12.5% | 1,145,990.00 |
| Units per line | 11.70 | 10.45 | -10.7% | -1,099,147.00 |
| Revenue per unit (USD) | 1.67 | 1.85 | +10.8% | 992,268.00 |
| Revenue (USD) | 9,395,871.00 | 10,040,322.00 | +6.9% | 644,451.00 |
The drivers sum to the total at every level of the hierarchy. A KPI tree that does not reconcile is a diagram.
A model card and the monitoring that watches it — real figures from Predicting 90-day repurchase — and catching the model when it goes stale. A rendering of the deliverable, not a screenshot.
| model | roc_auc | pr_auc | brier |
|---|---|---|---|
| Constant predictor at test prevalence (0.495) | 0.5 | 0.4954 | 0.25 |
| Constant predictor at train base rate (0.344) | 0.5 | 0.4954 | 0.2728 |
| Recency-only heuristic | 0.708 | 0.6801 | None |
| Logistic regression | 0.7666 | 0.7854 | 0.2211 |
| Gradient boosting | 0.7571 | 0.7802 | 0.2238 |
Every model that was tried is on the card, including the constant predictor, so the deployed one can be judged against something.
A robustness ladder across every specification — real figures from Price elasticity per SKU, and why the obvious repricing win is not there. A rendering of the deliverable, not a screenshot.
| Specification | SKUs fitted | Significant | Median elasticity (all fitted SKUs) | Share elastic (of significant fits) |
|---|---|---|---|---|
| A. No seasonal control | 1,156 | 1,050 | -2.98 | 98.7% |
| B. Month FE (as specified) | 1,156 | 1,059 | -2.98 | 98.5% |
| C. Month FE + linear trend | 1,156 | 1,066 | -3.00 | 98.9% |
| D. Month FE, retail lines only (qty<=12) | 1,154 | 914 | -1.94 | 91.7% |
| E. Month FE (preferred) | 1,084 | 903 | -1.73 | 94.6% |
The same question under every specification we tried, not the one that gave the friendliest answer.