Model status
Two small models power this POC: an intent classifier for reports and an ARM-ready autoregressive model for weekly demand.
Data store
ClickHouse
Analytics run against ClickHouse. Switch in appsettings.json
(DataStore:Provider) and re-ingest with
--provider=clickhouse --ch="Host=...;Port=8123;...".
Distributors: 5,12,13,15,16,17,18,20,45. Items: 7124. Parties: 189832. Sales lines: 1698557. Date range: 2026-04-01 to 2026-08-11. [ClickHouse/ubl_poc]
Report intent model
Loaded| Type | ML.NET multiclass (SDCA maximum entropy) |
| Scope | 13 report intents only |
| Artifact | /opt/ubl-poc/data/models/report-intent.zip |
| Size | 44.5 KB |
| Trained | 11 Aug 2026 07:17 |
A 20% split is held back at training time. Accuracy this high reflects a deliberately narrow intent space, not a general-purpose language model.
Demand forecast model
5 saved| Type | Autoregressive ridge model (lag-window regression) |
| Target | Weekly cases per SKU |
| Horizon | 4 weeks, recursive |
| Validation | Trailing holdout MAPE vs a naive carry-forward rule |
| Artifacts | /opt/ubl-poc/data/models |
Trained on demand from the Forecast page and cached per SKU. Every run reports the naive baseline alongside it so a SKU that does not benefit is visible rather than hidden.
Supported report intents
| Intent | What it answers | Example |
|---|---|---|
Summary | Loaded data counts and range | database summary |
MonthlyTrend | Value and cases by month | monthly sales trend |
TopSkus | SKU ranking by cases | top 10 skus last 30 days |
TopOutlets | Outlet ranking by value | biggest customers last 30 days |
OutletBuyers | Outlets buying a brand | who buys kingfisher ultra |
GrowingSkus | Period-over-period gainers | which skus are growing |
DecliningSkus | Period-over-period losers | which items slowed down |
AtRiskOutlets | Outlets that went quiet | outlets to win back |
StockCoverage | Weeks of cover on fast movers | which skus will stock out |
AreaPerformance | Territory contribution | area wise sales report |
BrandShare | Share of value by brand family | brand share report |
BrandSalesVsPurchase | Inward vs outward by month | purchase vs sales for london |
LicenceRoster | Outlets by licence and area | fl-br licence in palghar |
Data behind the models
Store: ClickHouse. Distributors: 5,12,13,15,16,17,18,20,45. Items: 7124. Parties: 189832. Sales lines: 1698557. Date range: 2026-04-01 to 2026-08-11. [ClickHouse/ubl_poc]