HomeProjectsStock & Restock — Inventory to Power BI
2026Solo builderPortfolio build
Stock & Restock — Inventory to Power BI
Inventory and purchasing report for a 79-store wine and spirits chain. A restock engine computes safety stock, reorder point and order quantity per store × item, and recalculates in DAX when the service level or review period changes.
Preview
Highlights
- Vendor lead times are uniform (7.8 days on average), so the report points at range decisions rather than suppliers
- Built and validated as code; not yet opened in Power BI Desktop
Problem
The chain had to know what to order now and from whom, and where cash was stuck in stock that does not move, across 276,389 store × item lines.
Approach
- DuckDB warehouse over a year of stock counts, receiving lines, vendor invoices and daily sales, with 15 data tests
- Beginner to intermediate: KPI cards, stock-status bars, ABC classes, what-if sliders for service level (80–99%) and review period
- Advanced: forecast with a 95% band and anomaly detection, sync slicers, button slicer, new card visual, calculated column and Product hierarchy, many-to-many item–supplier bridge
- Expert: DAX user-defined functions, calendar time intelligence group, visual calculations, object-level security for store staff, perspectives, mobile layout, CI checks
Stack
Power BIDAXTMDLPBIRDuckDBSQLPython
Outcome
- One line in five is out of stock while $11.76M sits beyond 180 days of cover or never sells: too little of what sells, too much of what doesn't
- Order due at a 95% service level: 66,990 lines, $4.00M; stock-outs concentrate in slow C items (44% of lines), not best-sellers (5%)
- Model: 21 tables, 54 measures, 5 functions; 7 report pages, 160 visuals; both validators pass
Tags