Hollandia Dairy - From Disconnected
Data to Real-Time Operations
A multi-SKU dairy operation in the Middle East was running replenishment decisions on 48-hour-old inventory data, writing off spoilage at end of month, and starting every S&OP meeting arguing about which numbers were correct. Eight weeks later, none of that was true.
5–15%
Sales uplift
20–40%
Stockout reduction
10–30%
Spoilage reduction
The Situation
Hollandia Dairy operates a multi-SKU dairy business in the United States - manufacturing, distributing, and selling a wide range of products with short shelf lives, highly variable demand, and a distribution network spanning multiple channels and geographies.
Like most businesses at their stage of growth, they had invested in the core systems: an ERP for financials and procurement, a WMS for warehouse and inventory management, and a separate sales tracking system. What they had not built was any connection between them. Each system had its own data, its own definitions, and its own version of the truth.
The result was predictable: reporting was manual, decisions were slow, and the operations team was perpetually reactive - managing stockouts after they happened and discovering spoilage at the end of the month rather than preventing it during the week.
The Root Problems
Replenishment decisions made on 48-hour-old data
Inventory data in the WMS was not feeding into any live reporting layer. The replenishment team was working from a daily export that was already a day or two old by the time it reached them - and extracting and formatting it took another two hours each morning. By the time a reorder decision was made, the actual stock position had shifted.
Sales and operations running different SKU lists
The ERP and WMS had evolved independently, and SKU codes had diverged over time. Sales would report on one set of product identifiers; operations would report on another. Reconciling the two for any cross-functional review was a manual exercise that took hours and was never fully trusted by either side.
Spoilage invisible until end-of-month write-offs
There was no mechanism to track stock age against shelf-life thresholds in real time. Spoilage was only quantified when physical stock counts were done and write-offs were processed - by which point the product was already unsaleable. There was no early-warning signal to allow intervention during the shelf-life window.
S&OP meetings starting with a data argument
Every Sales & Operations Planning meeting began the same way: Finance had one inventory number, Sales had another, and Operations had a third. Thirty minutes of the meeting would be spent establishing which figure was correct before any planning conversation could begin. This was not a people problem - it was a data architecture problem.
What MDI Built
Unified data layer on Microsoft Fabric
We connected the ERP, WMS, and sales system into a single governed data platform on Microsoft Fabric. One pipeline per source system, one Delta Lake as the shared foundation, one master SKU list agreed and maintained between operations and commercial. The three-way data argument was resolved structurally, not politically.
Real-time inventory dashboard
Built on Power BI with a Direct Lake connection to the Fabric layer, the inventory dashboard gave the replenishment team a live view of stock positions by SKU, by location, and against reorder thresholds. No export. No formatting. No two-hour morning ritual.
Automated daily replenishment signals
A morning replenishment report - generated automatically each day before the team started work - flagging SKUs below reorder threshold, SKUs trending towards stockout within five days, and SKUs with unusually high demand velocity from the previous 48 hours. What previously took two hours of manual work was reduced to a 20-minute review of a pre-generated signal.
Spoilage early-warning model
A simple but effective model that tracked stock age against shelf-life thresholds across all active SKUs. When a batch crossed 60% of its remaining shelf life with insufficient demand forecast to clear it, the model flagged it for commercial action - markdown, promotion, or redistribution. End-of-month write-off surprises dropped significantly.
Delivery Timeline - 8 Weeks
Weeks 1–2
Discovery & Data Audit
Mapped all active data sources across ERP, WMS, and the sales system. Documented field-level data quality issues, update frequencies, and API availability. Identified three sources of duplicate SKU master data that were causing the inventory discrepancies.
Weeks 3–4
Data Foundation
Built the unified data layer on Microsoft Fabric. Established Azure Data Factory pipelines to ingest from ERP (daily batch) and WMS (near real-time). Created a clean, governed Delta Lake with a single master SKU list agreed between sales and operations.
Weeks 5–6
Dashboards & Reporting
Deployed the Power BI reporting layer on top of the unified data. Four role-based dashboard views: inventory position (warehouse), sales performance (commercial), production alignment (operations), and executive summary. All drawing from the same semantic model.
Weeks 7–8
Automation & Early-Warning Model
Built the daily replenishment signal automation - generating SKU-level reorder alerts each morning before the replenishment team started work. Deployed the spoilage early-warning model, flagging SKUs with accelerating stock age relative to shelf-life thresholds.
Measured Outcomes
Sales uplift
Baseline
5–15%
Key win
Stockout reduction
Unmanaged
20–40%
Key win
Spoilage reduction
Reactive write-offs
10–30%
Key win
Morning replenishment time
~2 hours manual
20 minutes
S&OP data disputes
Every meeting
Eliminated
Spoilage visibility
End-of-month write-off
Rolling 7-day early warning
Delivery timeline
N/A
8 weeks
What Changed Day-to-Day
The most visible change was the morning replenishment process. Previously, a team member would spend the first two hours of the day pulling inventory exports, formatting them, and manually identifying which SKUs needed reordering. After the platform went live, the replenishment signal was waiting in their inbox before they sat down. The review took twenty minutes. The rest of the time was spent acting on the recommendations, not producing them.
Spoilage write-offs - previously discovered at end-of-month during physical stock counts - became a managed, in-week process. When a batch crossed the shelf-life threshold defined in the early-warning model, the commercial team was notified with enough lead time to act: markdown, redistribution to a higher-velocity channel, or targeted promotions. The end-of-month write-off surprise did not disappear overnight, but it reduced meaningfully within the first four weeks of operation.
S&OP meetings changed structurally. With a single, agreed source of truth that all three functions - Finance, Sales, and Operations - could access, the opening thirty minutes of data reconciliation was replaced by a shared dashboard view and a conversation about decisions, not about which numbers were correct.
Working with the MyData Insights team, we achieved a 5–15% uplift in sales, a 20–40% reduction in stockouts, and a 10–30% reduction in spoilage. The project management was well structured - clear milestones, consistent communication, and the team adapted well when requirements changed.
Kim Moten
Program Director, Hollandia Dairy
Technologies Used
Microsoft Fabric
Data Platform
Azure Data Factory
Integration
Delta Lake
Storage Layer
Power BI
Reporting
Is This Your Situation?
Running a dairy, food, or FMCG operation with the same data problems?
Book a 30-minute call. No slides, no pitch. We'll look at your systems, your data flow, and your reporting process - and tell you plainly what a realistic fix looks like, including timeline and cost range.