Centralize and automate the Demand Forecasting process
Context
I was assigned to a team called Retail IQ, which focuses on enabling Tiki’s 1P business to optimally answer these basic questions in order to profitably grow the business: what to sell? how much to sell? which price to sell at? which promotion to offer and when?
So as you can probably guess by the name, Demand forecasting helps answering that question of "what to sell and how much to sell?", or in another word, "What is the demand of the customer for our products?"
Challenge
Inventory is one of the crucial investments in any retail business. Storing more stock than the customer demand - it ties up cash. Storing less stock than the customer demand - you lose the money you are supposed to have. The right amount of inventory stored is the amount that meets customer demand.
However at that time, the performance of the task - forecasting the customer demand and planning stocks to buy - was not good:
Low coverage of products being forecasted, as the Procurement team only focus on the top-selling products out of over 80k products. This means that many potential products are not being taken care of.
And although already focusing on the top products, the accuracy was not able to be ensured still. Bad stocks were still adding up, unplanned purchased orders were still happening.
Opportunity
Our team then was requested to:
First, centralize their process into a tool that everybody in the Procurement team, high-level manager and any related teams can easily access, manage and check the performance.
Secondly, explore how technology can assist them in enhancing their performance of low coverage and accuracy.
User research
We started with a User research - where I took lead.
Questions to be answered from this research
Research planning & conducting
I decided that the most suitable method for these research goals is Contextual Inquiry - which requires us to go to their workplace, ask them to perform the demand forecasting task, observe the current behavior of the users while doing the task themselves from start to finish, and really understand the goal, the needs or the problems for each and every step they take to finish the task.
So I conducted the research for every category. (The procurement team is divided into different groups responsible for buying different product categories such as Mom and baby, Health beauty, Electronic accessories, …)
Below is an excerpt from the interview records I took. This should give you an idea of how I conduct research.
Here comes the most challenging part — Analyze the data
Understanding the users while talking to them and also after that, in this research, became more challenging than anticipated, because:
There was no standard process or method that applies across all categories. The prediction method varies based on different factors such as product category, seasons (rainy seasons, back to school seasons, promotion seasons …) and many other things.
To predict the demand, they also have to use personal intuition or market experience in their specific domain. They may have some sort of implicit rules or method for this, but they could not explicitly state them.
Our users often struggled to articulate the true underlying reasons and goals. Sometimes, their intentions were deeper and more complex than what they conveyed.
And lastly, all of these things are insanely complicated to a "muggle" like me 😀
Therefore, in order to really understand what's happening, to ensure that I understand the fundamental essence of what they said or did, it required me to:
Not shy away from asking more.
Breaking down the problem into smaller chunks, and some other times zooming out from the details to generalize the bigger picture.
Think and reflect, and think and reflect more.
Report
An overview of the report
The findings I found are structured into 3 key points below.
What they are trying to achieve (User goal)
What they do to reach that goal (How/User behavior)
And to achieve those smaller goals - they would have to do these things (notes in yellow - user behavior) and need to refer to these data (notes in green).
What goes wrong (Problem)
Similarly, the problems they encountered which purples are the ones they told me literally and pinks are the ones I observe myself - which I noted like below.
These problems are related to different things: low efficiency, bad calculations, etc. But all could lead to low coverage and low accuracy of the prediction.
Another example – High risk of missing a lot products to forecast due to:
- The product list provided by the BI team is missing many products.
- Too many effort to spend to revise that list.
- Too many different rules to decide whether to add or remove a product from the plan of stocks to buy.
Due to the complexity of the project, I cannot show all the insights here. However, to provide a better grasp of the context, here are some key points I have summarized:
The business team needs to refer to multiple Excel files and tools, scattered across different sources, to accomplish their task. This leads to wasted time navigating between platforms and performing unnecessary tasks.
They spend a lot of time collecting and centralizing data from different sources into an Excel file for forecasting. Then, they perform additional calculations to get the metrics they need. (Not to say, if they want to calculate the most accurate metric using the latest real-time data, they have to repeat the same task all over again)
Not everyone is willing to put in the effort to analyze or calculate data. Some may only refer to a few too simple metrics, while others may put in extensive effort but not be effective. These problems all lead to low accuracy.
They only need to deliver 4 numbers for each SKU over the next 4 weeks, so they should only need 5-6 columns at most. However, due to the aforementioned reasons, they have to work with an unnecessarily complicated file like this.
One of the tools they use to look for reference data.
Recommended solution
Not only reporting the insights, I also continued to come up with some recommendations/ideas for the product in terms of functionalities we should offer and also for product design (how the product should be designed), like below.
Product goals, features and metrics
Based on the insights we have found, we then were able to define – product goals, feature list, feature details, product plan and especially metrics for evaluating the effectiveness of our solution.
The design
My biggest challenge was to come up with a simple design for such a complicated user task (as you have already seen their crazy excel file 😬).
The task involves managing a large amount of products within tight deadlines, filtering and sorting different groups of products, referring to a bunch of different data and analyses to calculate the final number for each week, and ensuring that the numbers meet the system requirements.
Due to the complexity of this project, I cannot present and explain every detail of the design that addresses the identified problems. Here are few of the screens of the final design.
Result & lesson learned
This is not the first time we have centralized an existing internal process in our company. Some transfers in the past were very painful for both us and our users, due to various reasons. However, this time everything went smoothly and efficiently.
The adoption curve was low. We did not measure this in a particular number to be honest. All the member of the team (around 30 people) have to transfer to the new tool we built, but only few user required our assistance on how to use the products.
The forecast accuracy has significantly improved. Prior to the launch, the business team would overestimate the demand by a factor of 2.32. Currently, the gap between estimated and actual demand is less than 10%.