Programming Line · Complete course capstone
Fictional Retail Analysis
January–March 2026 · Asia/Kolkata calendar reporting · INR
Decision brief
Describe net merchandise revenue, recorded channel mix, and monthly activity in the accepted export. Identify evidence needed before evaluating profit or incremental acquisition return.
INR 241,124.20 net merchandise revenue
239 accepted orders; 224 non-cancelled orders; net AOV INR 1,076.45.
Decision memo
- The question is how recorded net merchandise revenue is distributed across channels and local calendar months.
- The largest recorded channel total is organic, with INR 83,110.30.
- This is synthetic observational teaching data; channel comparisons are not causal estimates and no advertising spend or cost of goods is available.
- Obtain verified costs, exposure, coverage, and longer customer history before deciding on profitability, incremental marketing effects, or first-ever retention.
- Rebuild with
python pipeline.py --out outputs/final-report and verify with python -m pytest -q.
Quality audit
{
"input_rows": 244,
"exact_duplicates": 2,
"rejected_rows": 3,
"accepted_rows": 239
}One anonymous-customer order is retained in revenue. Invalid monetary, timestamp, and quantity records are excluded by the declared contract; exact redeliveries are removed. No real customer records are present.
Channel KPIs
Money columns ending in _paise use integer paise; net_aov_inr uses INR. Customer counts overlap across channels and must not be summed.
| channel |
orders |
net_paise |
identified_customers |
net_aov_inr |
| email |
75 |
8045280 |
47 |
1,072.70 |
| organic |
75 |
8311030 |
47 |
1,108.14 |
| paid |
73 |
7596310 |
47 |
1,040.59 |
| unknown |
1 |
159800 |
1 |
1,598.00 |
Calendar-month KPIs
February 2026 has 28 days; January and March each have 31. Totals and daily rates answer different questions.
| month |
accepted_orders |
eligible_orders |
net_paise |
| 2026-01 |
83 |
78 |
8664690 |
| 2026-02 |
75 |
70 |
6749790 |
| 2026-03 |
81 |
76 |
8697940 |
Regional reconciliation
Unknown region retains the anonymous checkout rather than discarding its revenue.
| region |
accepted_orders |
net_paise |
| East |
59 |
7155660 |
| North |
59 |
1637130 |
| South |
60 |
4370050 |
| Unknown |
1 |
29900 |
| West |
60 |
10919680 |
Metric contract and reproducibility
One accepted row per order; integer paise; net merchandise revenue = units * unit_price_paise - discount_paise - refunded_paise; cancelled orders contribute zero. Net AOV uses non-cancelled orders, including returned orders. Tax, shipping, item costs, and advertising spend are absent.
{
"orders_sha256": "e75574cca90fb1bcdd173775a64899b3b67e783748a58a62e25109a5cd788596",
"customers_sha256": "5377e0bde9d559afb167e76bf4735576779a9264e9f7f10190f1660dac5bc7a7",
"python": "3.12.14",
"pandas": "3.1.0",
"reporting_timezone": "Asia/Kolkata",
"accepted_orders": 239,
"eligible_orders": 224,
"net_paise": 24112420,
"metric_contract": "One accepted row per order; integer paise; net merchandise revenue = units * unit_price_paise - discount_paise - refunded_paise; cancelled orders contribute zero. Net AOV uses non-cancelled orders, including returned orders. Tax, shipping, item costs, and advertising spend are absent.",
"data_origin": "Fictional, deterministic teaching fixture; not a real business sample"
}
All data is fictional and supplied for practice. This report is an educational artifact, not evidence about an actual store.