# Binzagr cluster cockpit — dashboard data (predictions)

Actuals run to **20 Oct 2026** (end of the data). Predictions cover **21 Oct – 30 Nov 2026**. Built 27 Oct 2026 from `10_Simulated_Datasets` (sim_v1).

- `Binzagr_Cluster_Cockpit.html` — the dashboard: one page per area, one panel per task, plus an 'All 30 tasks' overview. It opens offline; the charts library is built in.
- `t01…t30*.csv` — the data behind each panel, one or two files per task. Each file has `basis` (Actual / Predicted) and `as_of`. Load them into the portal the same way as the other `uploads/binzagr_pov/*.csv` files.
- `panels.json` — the exact numbers each panel shows (KPIs, chart series, tables), if the portal wants to read panels directly.
- `scripts/` — `p1_predictions.py` builds the CSVs; `p2_dashboard.py` builds panels.json; `template.html` is the page.

## How predictions are made (simple on purpose)
- Daily and weekly series: level of the last 6–8 weeks × day-of-week pattern, damped trend, 80% band from recent variation.
- Rates (OTIF, rejection, live rate, absence): average of the last 8 weeks carried forward.
- Risks (outlet loss, payment, escalation, breach, van variance): simple rules and scores built from each item's own history; each file says what it uses.
- Calendar effects: Fridays low for van sales; 11.11 (10–12 Nov) ×1.5 and White Friday (20–30 Nov, peak 26–28 Nov ×1.8) on e-commerce.

## Assumptions to confirm with Binzagr
- No November plan or target exists in the data. November target = October + 2%, and the November promotion calendar repeats the last four weeks.
- The October target in the data covers 1–20 Oct only, so it is scaled to the full month.
- Modern trade, wholesale, discounter and e-commerce figures are simulated from the assumed channel mix. Grocery van sales, balances and calls with a sale are real.
- Outlet loss rate: 20% of outlets silent 20–48 days never came back (measured on Jun–Aug cut-offs).
- Actions open for more than 90 days are treated as expired (165 items).

## Task → file

| # | Task | Files | Rows |
|---|---|---|---:|
| 1 | Sell-in vs daily target | `t01_sellin_vs_daily_target.csv` | 1,375 |
| 2 | MTD run rate vs target | `t02_mtd_run_rate.csv` | 270 |
| 3 | Channel mix vs plan | `t03_channel_mix.csv` | 45 |
| 4 | Sell-out | `t04_sell_out.csv` | 600 |
| 5 | POs received vs expected, rejected, delayed | `t05_po_tracker.csv`, `t05b_po_rejection_reasons.csv` | 368 |
| 6 | Merchandiser photo reports | `t06_merch_photo_reports.csv` | 376 |
| 7 | Promotions live | `t07_promotions_live.csv` | 439 |
| 8 | Wholesale price levels | `t08_wholesale_price_levels.csv` | 1,600 |
| 9 | Abnormal or irregular orders | `t09_irregular_orders.csv` | 350 |
| 10 | Discounter vs MT shelf prices | `t10_ds_vs_mt_price.csv` | 962 |
| 11 | Pack and SKU compliance | `t11_pack_compliance.csv` | 120 |
| 12 | Calls, strike rate, drop size | `t12_salesman_kpis.csv` | 2,571 |
| 13 | New and lost outlets, must-sell coverage | `t13_outlet_movement.csv`, `t13b_outlets_at_risk.csv` | 1,593 |
| 14 | Van stock, cash, credit reconciliation | `t14_van_reconciliation.csv` | 811 |
| 15 | Orders by platform, OOS, inactive listings | `t15_ecom_orders.csv`, `t15b_ecom_listings_down.csv` | 248 |
| 16 | Search rank, ratings, ad return | `t16_ecom_rank_rating_roas.csv` | 1,000 |
| 17 | Promotion uplift vs plan | `t17_promo_uplift.csv` | 439 |
| 18 | Trade spend vs budget and claims | `t18_trade_spend.csv` | 127 |
| 19 | Competitor launches and price cuts | `t19_competitor_activity.csv`, `t19b_competitor_events_recent.csv` | 725 |
| 20 | Warehouse stock cover vs forecast | `t20_stock_cover.csv` | 2,778 |
| 21 | Fill rate and OTIF with cut reasons | `t21_fill_otif.csv` | 164 |
| 22 | Customer stock, near-expiry, returns | `t22_customer_stock_expiry.csv` | 197 |
| 23 | Demand shifts to planning | `t23_demand_shifts.csv` | 900 |
| 24 | Overdue receivables and credit blocks | `t24_receivables.csv`, `t24b_credit_blocks_monthly.csv` | 1,511 |
| 25 | Claims, deductions, disputes | `t25_deductions_disputes.csv` | 1,058 |
| 26 | Key account escalations | `t26_escalations.csv`, `t26b_account_risk.csv` | 231 |
| 27 | Uncovered routes, absent merchandisers | `t27_coverage.csv` | 190 |
| 28 | KAM and supervisor meetings | `t28_meetings.csv` | 387 |
| 29 | Action log and approvals | `t29_action_log_open.csv`, `t29b_action_backlog.csv` | 168 |
| 30 | Where the manager spends time | `t30_manager_time.csv` | 666 |