ericbuilds.xlsx
Back to portfolio
C2 Case Study · Demand Forecasting

From Spreadsheet Chaos to a Real Forecasting Engine

TL;DR

A $200M DTC cookware brand was forecasting 450+ SKUs across four countries by hand in spreadsheets. I built them a Python forecasting engine and a stack of Apps Script automation to replace it. Forecast accuracy jumped from 50% to 70%, and it saved 30 hours every planning cycle while the company scaled from $60M to $200M in revenue.

50%70% forecast accuracy
450+ SKUs, 4 countries
30 hrs saved per cycle
+25% capital turnover
95%+ service levels held

B2The Problem

When I joined, the company's entire demand planning process ran on spreadsheets that had been duct-taped together over years of fast growth. Forecasts for 450+ SKUs across the US, Canada, UK, and Australia were built by hand, updated by hand, and reconciled by hand. Every week, someone was pulling numbers from five different vendor reports, pasting them into a master sheet, and hoping the formulas didn't break.

They mostly did break. Forecast accuracy was sitting around 50%: basically a coin flip on whether you'd have the right amount of inventory in the right country at the right time. That meant stockouts on bestsellers during peak season, and cash tied up in slow-moving SKUs nobody wanted to touch. Every quarter the S&OP (sales and operations planning) meeting turned into a room full of people arguing over whose spreadsheet was right, instead of making decisions.

The business was also growing fast, from $60M to eventually $200M in revenue, and the old process couldn't scale with it. More SKUs, more markets, more vendors, same brittle spreadsheet stack. Something had to give before the whole thing collapsed under its own weight.

B3The Solution

I built the company's primary supply and demand forecasting model from scratch in Python. Instead of manually adjusting formulas every cycle, the model pulled in historical sales, seasonality, and vendor lead time data, and produced consistent SKU-level forecasts across all four markets. No more "whose spreadsheet is right": one source of truth, refreshed on a schedule instead of a prayer. The engine itself used a mix of ML and statistical forecasting methods, whatever gave the best signal for each SKU, so planners weren't locked into a single approach.

But a good model doesn't help anyone if people still have to manually copy numbers around to act on it. So I layered in automation on top:

  • PO alert/reorder system covering 10 product categories, so planners got flagged automatically when it was time to reorder instead of eyeballing inventory levels every week.
  • Vendor forecast delta analysis across 5 manufacturing vendors, comparing what we forecasted against what vendors were actually planning to produce, so mismatches got caught before they turned into stockouts or overstock.
  • A stack of Google Apps Script tools that took the manual, error-prone parts of the old spreadsheet workflow (data pulls, formatting, cross-checking multiple sheets) and made them run themselves.

I also redesigned how S&OP meetings worked. With a shared, trusted forecast as the starting point, meetings shifted from "let's figure out whose numbers are real" to actually planning: reviewing exceptions, making trade-off calls, and moving on.

B4The Results

  • Saved 30 hours every planning cycle by replacing the manual spreadsheet workflow with an automated pipeline. What used to be a multi-day data-wrangling marathon became a push-button refresh.
  • Forecast accuracy improved from 50% to 70%, a 20-point jump that meant the business was actually planning around numbers it could trust, not guessing.
  • Service availability increased 15%: more of the right products in stock when customers wanted to buy them, which directly protects revenue you'd otherwise lose to stockouts.
  • Capital turnover improved 25%: less cash sitting frozen in inventory that wasn't moving, freeing up capital for the business to actually use.
  • Sustained 95%+ service levels across all international markets. US, Canada, UK, and Australia all held to a high bar, not just the home market while everywhere else limped along.
  • All of this happened while the company scaled from $60M to $200M in revenue, across a growing SKU count and an expanding international footprint. That's the kind of growth that normally breaks a manual process, but the new system scaled right along with it.

The bigger win wasn't just the numbers. Decision-makers stopped spending their time fighting spreadsheets and started spending it on actual strategy.

B5Tech Stack

Tool · What it did
1PythonCore forecasting engine, data processing, vendor delta analysis
2Google SheetsPlanner-facing interface for the outputs
3Apps ScriptAutomation layer replacing manual spreadsheet workflows
4NetSuiteSource system for sales, inventory, and vendor data

This is the kind of mess I like fixing.

If your spreadsheets are held together with duct tape and hope, let's talk.

Get in touch