A REPORT YOU
CAN DEFEND.
A small campaign readout that shows the arithmetic, separates observation from interpretation, and names what the data cannot prove. The dataset is invented and disclosed. The metric logic, filters and exports are real.
The campaign, in eight numbers.
All values are computed in the browser from the rows below. Zero denominators render as “n/a”, never as a fabricated zero or infinity. Revenue is attributed, not incremental.
Delivery and return.
Daily spend against attributed revenue for the selected slice. These are small daily totals, not smoothed trend lines.
Clicks and qualified inquiries are not the same population; inquiries are attributed to clicks in this synthetic set.
Where the efficiency sits.
Both tables are filtered by the slice selector above and reconcile to the scoreboard totals.
| Creative | Spend | CTR | CPC | CPQI | Click → inquiry | Inquiry → order | Orders | Revenue | ROAS |
|---|
| Platform | Spend | Impressions | CPM | CTR | CPQI | Orders | Cost / order | ROAS |
|---|
Observation. Meaning. Move.
Each card follows the same structure. The observation cites values from the current slice; the recommendation is a test, not a guarantee.
Attribution, stated plainly.
A report that hides its measurement limits is a sales document, not analysis. These caveats belong with the numbers.
The exact rows shown.
| Date | Platform | Creative | Spend | Impressions | Clicks | Inquiries | Orders | Revenue |
|---|
Export filenames include the current filter. The JSON carries the dataset label, period, row count, computed metrics, comparisons, insights and cautions; the CSV carries the raw rows only so it can be re-analysed.