Sources of Truth

Planning is bringing the future into the present so that you can do something about it now. – Alan Lakein

Most retailers have two sources of truth:

  1. The data warehouse holds information about the past at the most granular level. It allows you to construct a complete picture of things that happened over the last several years at the lowest level of granularity:
    • Sales of specific items at specific locations on specific days
    • Stock movements between locations for specific items on specific days
    • Stock levels of specific items at specific locations on specific days
  2. The ERP system holds information about the present at the most granular level:
    • Current information about items, locations and source/destination relationships
    • The current on hand level for each item at each location right now
    • Open stock transfers and purchase orders and their status (committed, shipped, received) right now

Of course, there is no source of truth for the future, because it hasn’t happened yet.

But what if there could be?

It’s true that the future is uncertain. But uncertainty isn’t an all or nothing proposition (regardless of what the “forecasts are always wrong, so why bother at all” crowd may say).

Here are 3 predictions of events that haven’t happened yet:

  1. The sun will rise at 6:24am on August 12th, 2026 in Kitchener, Ontario, Canada – very certain.
  2. My electric bill will be between $200 and $275 per month during the summer months – pretty certain.
  3. It will rain for 4 hours on June 23rd, 2027 – not at all certain.

 As a brief aside, Larry Smith – my first year Macroeconomics professor shared this sage (if tongue-in-cheek) advice in one of his first lectures of the semester (this lecture was 35 years ago, so this isn’t a direct quote, but it’s pretty close):

“For those of you who are looking to pursue a career in economics, there will inevitably come a time when someone will ask you to provide a forecast of something. The secret to being good at forecasting is to provide a specific magnitude or a specific timeline, but never both.”

Okay, back to the point I was making…

When it comes to supply chain planning in retail, there are a LOT of things that fall into the very certain (“we will be promoting this product at all stores for half price during the first week of September”) or pretty certain (“we think we’ll get a 60-70% sales uplift on this promotion based on past performance”) categories.

There is certainly enough there to construct a valid simulation of reality: a continuously recalibrated source of future truth – making full use of the past and present sources of truth – at the same level of granularity as the data warehouse, but with the ability to answer far more valuable questions:

  • What are sales expected to be for every item at every location and at what price for the next 12 months? Are we going to meet our sales plan?
  • How much stock are we expected to have in each item at each store and each DC tomorrow? Next month? A year from now?
  • How much of each item will the DC need to ship to each store each day? How much will be coming inbound? Do we have the capacity for that?
  • How much are we going to be purchasing each week for the next year? Do we have cash/financing set up to support that?

It’s like having a fully constructed data warehouse for your business where all of the dates are in the future instead of the past.

But getting to this point will require spending some time on business processes to make sure that you’re fully incorporating the “very certain” and “pretty certain” aspects of the future into the plan itself.

In practical terms, this means:

  • Plans are always complete and updated continuously – anything you currently know about the future (upcoming promotions, network flow changes, new products, etc.) goes into the plan today
  • When you’re in the realm of “pretty certain” (e.g. promotional uplift estimates, new item forecasts, impact of price changes, etc.), consensus on the inputs and assumptions among people with different viewpoints can serve to chip away some of the uncertainty and get everyone on the same page
  • Focusing your effort on the one truly independent variable (consumer demand) and let all of the supply movements flow from that based on the things that are largely known (stocking policies, constraints, lead times, etc.)

By shifting your mindset from “we need to order better” to “we need our plans to always reflect our most current view of the future at every level”, you can not just reduce out-of-stocks by 80% and increase turns by 40% or more, you can do it with greater operational and planner efficiency.

Shaping the Plan to Your Will

I am a man of fixed and unbending principles, the first of which is to be flexible at all times. – Everett Mckinley Dirkson

As a retailer, if you can accurately forecast the impact of your promotions – down to item/store level – within a narrow range, then everything will be fine.

Umm, okay, that sounds great but what if – hypothetically speaking – you’re not always able to do that? Then what?

Flowcasting has been fairly accurately described as a demand driven supply chain planning approach, with “demand” in this context referring solely to pure demand from consumers at the shelf.

In order for Flowcasting to work properly, the forecast of future demand at each item/store must be representative of what you expect to sell in every planned week in the future. While the starting point for the forecast can be derived mathematically by detecting patterns in history, it needs to be augmented when you know something about future consumer demand that will be different from the past (sometimes referred to as “demand shaping”). In this case, you know that you’re going to advertise a price drop to your customers in Week 9:


In the example above for an item at a store, we expect to sell 64 units on the promotion. This store needs to maintain 20 units of minimum stock at all times to keep the shelf display looking presentable. Flowcasting logic ensures that the Projected On Hand will never fall below that Minimum Stock in any future week, so as a result, the high expected promotional demand in Week 9 triggers 66 units to arrive at the beginning of that week (all requirements rounded up to shippable packs of 6 units). With a 1 week lead time, that 66 units is seen by the servicing DC as a shipment that will be made to that store in Week 8.

We’re only looking at a single store here and there are a variety of ways to have the promo uplift applied (top-down based on proportional contribution to past total sales,  promo sales or baseline forecast, elasticity curves, machine learning based approaches, etc.). The key point here is that demand must be appropriately shaped and represent what you actually expect to sell.

What we have here is a really good plan… If you’re confident in your promotional forecast and if you’re just going to put a promo tag on the home location. For a lot of products (e.g. those that you’ve promoted frequently at the same price with no additional merchandising support), this might be just fine and dandy.

But what if you need product to be in the store earlier or in greater quantities than required just to support expected sales? This could be to support the set up of off-shelf displays or cover for upside forecast risk (particularly if shipments to the store are relatively infrequent and there may not be enough time to do a “mid-course correction” once the promotion starts).

This need is sometimes referred to as “push/pull” or “decoupling” and it can be a real challenge, especially when your supply chain is… well… decoupled.

Flowcasting is uniquely capable of solving this problem quickly, precisely and well in advance so that everyone (store operations personnel, support office planners, buyers and suppliers) can see what’s going to happen.

Because Flowcasting connects the entire supply chain from the consumer to the supplier – it doesn’t support “decoupling” – it completely invalidates it.

For example, suppose that the item we planned earlier will be supported by an off-location display of 30 units in addition to the 20 units required as a minimum on the shelf. Furthermore, the stores need to have sufficient stock a week ahead of time to organize their merchandising teams to set up the display.

In Flowcasting, this is executed as a simple, future dated temporary change to the minimum stock:

Instead of stock arriving just in time to support sales, a large shipment to support the additional display will arrive the prior week, while the additional stock to support the sales uplift will arrive later.

Okay, but what if you’ve never promoted this item at this price point before? The forecast is your best unbiased guess at what’s going to happen, but you would rather have additional stock at the store than risk running out.


Here, we’ve set our minimum stock during the promotion week to ensure that we’re covered if we sell double what we expect.

What if this store can get multiple shipments during the promotional week? You can instead apply a safety stock uplift to the distribution centre plan so that the stock is positioned there to quickly refill stores that are selling through it more quickly, while not overloading the stores that aren’t.

Or you can split the difference by adding some of the additional safety stock to the stores and some to the DCs. Or… you get the idea. All nodes are planned and all nodes are connected, so the effect of changing the shape of the supply plan is precise and the impact on all nodes is transparent.

And by planning in this fashion (shaping the supply plan separately and independently from shaping the demand), there is an additional advantage over pushing stock out via allocation: continuous replanning. The planned shipments and arrivals will be recalculated every day as sales and inventory movements are realized between now and when the promotion starts. And everybody sees how the plan is shifting over time at every location, right back to the supplier.

While there are other methods for shaping the flow plan (temporarily bypassing nodes with planned network flow changes, days of supply/safety time, etc.), simply having separate levers for demand shaping and supply plan shaping is a very effective way to plan not just promotions, but any other scenario where “decoupling and pushing” would be used outside of a Flowcasting context:

  • Cannibalization and halo effects on items that compete with or complement a promoted item
  • Planning for the initial pipeline and shelf filling, followed by ongoing replenishment for a new item
  • Pre-building stock ahead of a seasonal or holiday peak

Plan the execution, then execute the plan.

What could be simpler?

Empty Calories

There is not any memory with less satisfaction than the memory of some temptation we resisted. – James Branch Cabell (1879-1958)

What are my current stock levels? What’s the status of my inbound orders? How were the weekend sales for my products?

A great deal of effort has been spent over the last 2 decades to provide this information to planners and decision makers in near real time. But how useful is it, really?

We like to call this the “salt, sugar and fat” of supply chain planning. It’s extremely satisfying to get answers to these questions in the moment, but the satiation wears off quickly and you find yourself asking the same questions a few days later.

These types of supply chain visibility metrics are merely a glimpse in the rearview mirror. The myriad activities that give rise to a particular inventory level, a change to an order status or a weekend sales result have already happened and have been happening for days, weeks or even months before the question was even asked.

It’s like sitting at the gate and your airline announces a departure delay. You would rather have that information than not, but if that’s all the information you get, you have no control over the outcome. All you know is that you won’t be getting to your destination on time.

Now, suppose that you’re a savvy traveller. Hours before you even leave for the airport, you check the tail number for the inbound flight. Then you check the origin city of that flight and a massive storm is rolling through right around the time it’s supposed to depart, virtually guaranteeing a significant delay.

What are you going to do? Try to get booked on a different airline whose inbound aircraft is not coming from the city that’s about to get pummelled? Extend your hotel stay for another night because there’s no way you’ll be getting out at a reasonable time? Rent a car and just make it a road trip instead? Or just suck it up and leave on your scheduled flight, even though you know you’re going to be significantly delayed.

Any of those options may be acceptable, depending on your needs and constraints (e.g. cost, how urgently you need to get to your destination, whether or not the distance is reasonably driveable). But you only have one option available if you didn’t see the problem coming and only learned about it when you were sitting at the gate.

The point here is that knowing where things currently sit is certainly useful, but nowhere near as useful as being able to anticipate what things will be like in the future. Constantly checking in on up-to-the-minute information about the very recent past may give you a sense of control, but in reality, you’re just sitting in the back seat bingeing on cheeseburgers and donuts.

In a supply chain context, focusing too much on “real time current” information can lead to false conclusions and bad decisions (or non-decisions).

You look at your current DC and store stock levels and everything looks nice and healthy, so you breathe a sigh of relief and move on to the next item. But a promotion is scheduled in 2 weeks that’s going to virtually wipe you out. And your lead time from the supplier is 4 weeks. This is an example of something that is a big problem, but it doesn’t look like a problem in the current data. The cost is lost sales that could have been avoided.

You move on to another item and you see that 30% of your stores are out of stock. So, you panic. You spend the morning trying to figure out how can this be? What happened? And you have a bunch of higher-ups (who are looking at the same “here and now” data that you are) asking the same questions. Meanwhile, an order was just triggered with the supplier that covers the shortfalls and is due to arrive in a few days. Within a week or so, all of the stores will be back in stock. This is an example of something that looks like a big problem in the current data, but really isn’t much of a problem at all. The cost is stress and lost productivity trying to solve a problem that has already been automatically solved.

Subsisting on a diet consisting mainly of salt, sugar and fat is not good for one’s long term health. So, how do you kick the habit?

Like the savvy air traveller, you need to give yourself a window into the future to know all of your options and make the best decisions in advance.

Properly cooked, an end-to-end planning process that is designed to always maintain a valid simulation of reality is a very tasty and nutritious vegetable.