Amazon Science Forecasting Algorithm.png

The history of Amazon’s forecasting algorithm

The story of a decade-plus long journey toward a unified forecasting model.

When a customer visits Amazon, there is an almost inherent expectation that the item they are searching for will be in stock. And that expectation is understandable — Amazon sells more than 400 million products in over 185 countries.

However, the sheer volume of products makes it cost-prohibitive to maintain surplus inventory levels for every product.

Related content
How Amazon’s Supply Chain Optimization Technologies team has evolved over time to meet a challenge of staggering complexity.

Historical patterns can be leveraged to make decisions on inventory levels for products with predictable consumption patterns — think household staples like laundry detergent or trash bags. However, most products exhibit a variability in demand due to factors that are beyond Amazon’s control.

Take the example of a book like Michelle Obama’s ‘Becoming’, or the recent proliferation of sweatsuits, which emerged as both comfortable and fashion-forward clothing option during 2020. It’s difficult to account for the steep spike in sales caused by a publicity tour featuring Oprah Winfrey, and nearly impossible to foresee the effect COVID-19 would have on, among other things, stay-at-home clothing trends.

Today, Amazon’s forecasting team has drawn on advances in fields like deep learning, image recognition and natural language processing to develop a forecasting model that makes accurate decisions across diverse product categories. Arriving at this unified forecasting model hasn’t been the result of one “eureka” moment. Rather, it has been a decade-plus long journey.

Hands-off-the-wheel automation: Amazon’s supply chain optimization

“When we started the forecasting team at Amazon, we had ten people and no scientists,” says Ping Xu, forecasting science director within Amazon’s Supply Chain Optimization Technologies (SCOT) organization. “Today, we have close to 200 people on our team. The focus on scientific and technological innovation has been key in allowing us to draw an accurate estimate of the immense variability in future demand, and make sure that customers are able to fulfill their shopping needs on Amazon.”

In the beginning: A patchwork of models

Kari Torkkola, senior principal research scientist, has played a key role in driving the evolution of Amazon’s forecasting systems in his 12 years at the company.

“When I joined Amazon, the company relied on traditional time series models for forecasting,” says Torkkola.

Clockwise from top left, Ping Xu, forecasting science director; Kari Torkkola, senior principal research scientist; Dhruv Madeka, principal applied scientist; and Ruofeng Wen, senior applied scientist
Clockwise from top left, Ping Xu, forecasting science director; Kari Torkkola, senior principal research scientist; Dhruv Madeka, principal applied scientist; and Ruofeng Wen, senior applied scientist

Time series forecasting is a statistical technique that uses historical values and associated patterns to predict future activity. In 2008, Amazon’s forecasting system used standard textbook time series forecasting methods to make predictions.

The system produced accurate forecasts in scenarios where the time series was predictable and stationary. However, it was unable to produce accurate forecasts for situations such as new products that had no prior history or products with highly seasonal sale patterns. Amazon’s forecasting teams had to develop new methods to account for each of these scenarios.

The system was incredibly hard to maintain. It gradually became clear that we needed to work towards developing a unified forecasting model.
Kari Torkkola

So they set about developing an add-on component to model seasonal patterns in products such as winter jackets. Another specialized component solved for the effects of price elasticity, where products see spikes in demand due to price drops, while yet another component called Distribution Engine modeled past errors to produce estimates of forecast distributions on top of point forecasts.

“There were multiple components, all of which needed our attention,” says Torkkola. “The system was incredibly hard to maintain. It gradually became clear that we needed to work towards developing a unified forecasting model.”

Enter the random forest

If the number of components made maintaining the forecasting system laborious, routing special forecasting cases or even product groups to specialized models, which involved encoding expert knowledge — complicated matters even further.

Then Torkkola had a deceptively simple insight as he began working toward a unified forecasting model. “There are products across multiple categories that behave the same way,” he said.

Related content
Danielle Maddix Robinson's mathematics background helps inform robust models that can predict everything from retail demand to epidemiology.

For example, there is clear delineation between new products and products with an established history. The forecast for a new video game or laptop can be generated, in part, from how similar products behaved when they had launched in the past.

Torkkola extracted a set of features from information such as demand, sales, product category, and page views. He used these features to train a random forest model. Random forests are commonly used machine learning algorithms that comprise  a number of decision trees. The outputs of the decision trees are then bundled together to provide a more stable and accurate prediction.

“By pooling everything together in one model, we gained statistical strength across multiple categories,” Torkkola says.

At the time, Amazon’s base forecasting system produced point forecasts to predict future demand — a single number that conveys information about the future demand. However, full forecast distributions or a set of quantiles of the distribution are necessary when it comes to make informed forecasting decisions on inventory levels. The Distribution Engine, which was another add-on to the base system, was producing poorly calibrated distributions.

Related content
Learning the complete quantile function, which maps probabilities to variable values, rather than building separate models for each quantile level, enables better optimization of resource trade-offs.

Torkkola wrote an initial implementation of the random forest approach to output quantiles of forecast distributions. This was rewritten as a new incarnation called Sparse Quantile Random Forest (SQRF). That implementation allowed a single forecasting system to make forecasts for different product lines where each may have had different features present, thus each of those features seem very “sparse”. SQRF could also scale to millions of products, and represented a step change for Amazon to produce forecasts at scale.

However, the system suffered from a serious drawback. It still required the team to manually engineer features for the model — in other words, the system needed humans to define the input variables that would provide the best possible output.

That was all set to change in 2013, when the field of deep learning went into overdrive.

Deep learning produces the unified model

“In 2013, there was a lot of excitement in the machine learning community around deep learning,” Torkkola says. “There were significant advances in the field of image recognition. In addition, tensor frameworks such as THEANO developed by the University of Montreal were allowing developers to build deep learning models on the fly. Currently popular frameworks such as TensorFlow were not yet available.”

Neural networks held a tantalizing prospect for Amazon’s forecasting team. In theory, neural networks could do away with the need to manually engineer features. The network could ingest raw data and learn the most relevant implicit features needed to produce a forecast without human input.

With the help of interns hired over the summers of 2014 and 2015, Torkkola experimented with both feed forward and recurrent neural networks (RNNs). In feed forward networks, the connections between nodes do not form a cycle; the opposite is true with RNNs. The team began by developing a RNN to produce a point forecast. Over the next summer, another intern developed a model to produce a distribution forecast. However, these early iterations did not outperform SQRF, the existing production system.

Related content
How Amazon’s scientists developed a first-of-its-kind multi-echelon system for inventory buying and placement.

Amazon’s forecasting team went back to the drawing board and had another insight, one that would prove crucial in the journey towards developing a unified forecasting model.

“We trained the network on minimizing quantile loss over multiple forecast horizons,” Torkkola says. Quantile loss is among the most important metrics used in forecasting systems. It is appropriate when under- and over-prediction errors have different costs, such as in inventory buying.

“When you train a system on the same metric that you are interested in evaluating, the system performs better,” Torkkola says. The new feed forward network delivered a significant improvement in forecasting relative to SQRF.

This was the breakthrough that the team had been working towards: the team could finally start retiring the plethora of old models and utilize a unified forecasting model that would produce accurate forecasts for multiple scenarios, forecasts, and categories. The result was a 15-fold improvement in forecast accuracy and great simplification of the entire system.

At last, no feature engineering!

While the feed forward network had delivered an impressive improvement in performance, the system still continued using the same hand engineered features SQRF had used. "There was no way to tell how far those features were from optimal," Ruofeng Wen, senior applied scientist who formerly worked as a forecasting scientist and joined the project in 2016, pointed out. “Some were redundant, and some were useless.”

Related content
Method uses metric learning to determine whether images depict the same product.

The team set out to develop a model that would remove the need to manually engineer domain-specific features, thus being applicable to any general Forecasting problem. The breakthrough approach, known as MQ-RNN/CNN, was published in a 2018 paper titled "A Multi-Horizon Quantile Recurrent Forecaster". It built off the recent advances made in recurrent networks (RNN) and convolutional networks (CNNs).

CNNs are frequently used in image recognition due to their ability to scan an image, determine the saliency of various parts of that image, and make decisions about the relative importance of those facets. RNNs are usually used in a different domain, parsing semantics and sentiments from texts. Crucially, both RNNs/CNNs are able to extract the most relevant features without manual engineering. “Afterall, forecasting is based on past sequential patterns,” Wen said, “and RNNs/CNNs are pretty good at capturing them.”

Leveraging the new general approach allowed Amazon to forecast the demand of any fast-moving products by a single model structure. This out-performed a dozen of legacy systems designed for difference product lines, since the model was smart enough to learn business-specific demand patterns all by itself. However, for a system to make accurate predictions about the future, it has to have a detailed understanding of the errors it has made in the past. However, the architecture of Multi-Horizon Quantile Recurrent Forecaster had few mechanisms that would enable the model to ingest knowledge about past errors.

Amazon’s forecasting team worked through this limitation by turning to the latest advances in natural language processing (NLP).

Leaning on natural language processing

Dhruv Madeka, a principal applied scientist who had conducted innovative work in developing election forecasting systems at Bloomberg, was among the scientists who had joined Amazon’s forecasting team in 2017.

“Sentences are a sequence of words,” Madeka says. “The attention mechanisms in many NLP models look at a sequence of words, and determine which other parts of the sentence are important for a given context and task. By incorporating these context-aware mechanisms, we now had a way to make our forecasting system pay attention to its history, and gain an understanding of the errors it had made in the past.”

Amazon’s forecasting team honed in on the transformer architectures that were shaking up the world of NLP. Their new approach, which used decoder-encoder attention mechanisms for context-alignment, was outlined in the paper "MQTransformer: Multi-Horizon Forecasts with Context Dependent and Feedback-Aware Attention" published in December 2020. The decoder-encoder attention mechanisms meant that the system could study its own history and improve forecasting accuracy and decrease the volatility of the forecast.

With MQ Transformer, Amazon now has a unified forecasting model able to make even more accurate predictions across the company’s vast catalog of products.

Today, the team is developing deep reinforcement learning models that will enable Amazon to ensure that the accuracy improvements in forecasts translate directly into cost savings, resulting in lower costs for customers. To design a system that optimizes directly for savings — as opposed to inventory levels — the forecasting team is drawing on cutting-edge research from fields such as deep reinforcement learning.

“Amazon is an exceptional place for a scientist because of the focus on innovation grounded on making a real impact,” says Xu. “Thinking big is more than having a bold vision. It involves planting seeds, growing it continuously by failing fast, and doubling down on scaling once the evidence of success becomes apparent.”

View from space of a connected network around planet Earth representing the Internet of Things.
Sign up for our newsletter

Related content

US, CA, San Francisco
About Twitch Launched in 2011, Twitch is a global community that comes together each day to create multiplayer entertainment: unique, live, unpredictable experiences created by the interactions of millions. We bring the joy of co-op to everything, from casual gaming to world-class esports to anime marathons, music, and art streams. Twitch also hosts TwitchCon, where we bring everyone together to celebrate, learn, and grow their personal interests and passions. We’re always live at Twitch. Stay up to date on all things Twitch on Linkedin, Twitter and on our Blog. About the role: Twitch builds data-driven machine learning solutions across several rich problem spaces: Natural Language Processing (NLP), Recommendations, Semantic Search, Classification/Categorization, Anomaly Detection, Forecasting, Safety, and HCI/Social Computing/Computational Social Science. As an Intern, you will work with a dedicated Mentor and Manager on a project in one of these problem areas. You will also be supported by an Advisor and participate in cohort activities such as research teach backs and leadership talks. This position can also be located in San Francisco, CA or virtual. You Will: Solve large-scale data problems. Design solutions for Twitch's problem spaces Explore ML and data research
US, CA, San Francisco
About Twitch Launched in 2011, Twitch is a global community that comes together each day to create multiplayer entertainment: unique, live, unpredictable experiences created by the interactions of millions. We bring the joy of co-op to everything, from casual gaming to world-class esports to anime marathons, music, and art streams. Twitch also hosts TwitchCon, where we bring everyone together to celebrate, learn, and grow their personal interests and passions. We’re always live at Twitch. Stay up to date on all things Twitch on Linkedin, Twitter and on our Blog. About the role: Twitch builds data-driven machine learning solutions across several rich problem spaces: Natural Language Processing (NLP), Recommendations, Semantic Search, Classification/Categorization, Anomaly Detection, Forecasting, Safety, and HCI/Social Computing/Computational Social Science. As an Intern, you will work with a dedicated Mentor and Manager on a project in one of these problem areas. You will also be supported by an Advisor and participate in cohort activities such as research teach backs and leadership talks. This position can also be located in San Francisco, CA or virtual. You Will: Solve large-scale data problems. Design solutions for Twitch's problem spaces Explore ML and data research
LU, Luxembourg
Are you a talented and inventive scientist with a strong passion about modern data technologies and interested to improve business processes, extracting value from the data? Would you like to be a part of an organization that is aiming to use self-learning technology to process data in order to support the management of the procurement function? The Global Procurement Technology, as a part of Global Procurement Operations, is seeking a skilled Data Scientist to help build its future data intelligence in business ecosystem, working with large distributed systems of data and providing Machine Learning (ML) and Predictive Modeling expertise. You will be a member of the Data Engineering and ML Team, joining a fast-growing global organization, with a great vision to transform the Procurement field, and become the role model in the market. This team plays a strategic role supporting the core Procurement business domains as well as it is the cornerstone of any transformation and innovation initiative. Our mission is to provide a high-quality data environment to facilitate process optimization and business digitalization, on a global scale. We are supporting business initiatives, including but not limited to, strategic supplier sourcing (e.g. contracting, negotiation, spend analysis, market research, etc.), order management, supplier performance, etc. We are seeking an individual who can thrive in a fast-paced work environment, be collaborative and share knowledge and experience with his colleagues. You are expected to deliver results, but at the same time have fun with your teammates and enjoy working in the company. In Amazon, you will find all the resources required to learn new skills, grow your career, and become a better professional. You will connect with world leaders in your field and you will be tackling Data Science challenges to ensure business continuity, by taking the right decisions for your customers. As a Data Scientist in the team, you will: -be the subject matter expert to support team strategies that will take Global Procurement Operations towards world-class predictive maintenance practices and processes, driving more effective procurement functions, e.g. supplier segmentation, negotiations, shipping supplies volume forecast, spend management, etc. -have strong analytical skills and excel in the design, creation, management, and enterprise use of large data sets, combining raw data from different sources -provide technical expertise to support the development of ML models to facilitate intelligent digital services, such as Contract Lifecycle Management (CLM) and Negotiations platform -cooperate closely with different groups of stakeholders, e.g. data/software engineers, product/program managers, analysts, senior leadership, etc. to evaluate business needs and objectives to set up the best data management environment -create and share with audiences of varying levels technical papers and presentations -deal with ambiguity, prioritizing needs, and delivering results in a dynamic environment Basic qualifications -Master’s Degree in Computer Science/Engineering, Informatics, Mathematics, or a related technical discipline -3+ years of industry experience in data engineering/science, business intelligence or related field -3+ years experience in algorithm design, engineering and implementation for very-large scale applications to solve real problems -Very good knowledge of data modeling and evaluation -Very good understanding of regression modeling, forecasting techniques, time series analysis, machine-learning concepts such as supervised and unsupervised learning, classification, random forest, etc. -SQL and query performance tuning skills Preferred qualifications -2+ years of proficiency in using R, Python, Scala, Java or any modern language for data processing and statistical analysis -Experience with various RDBMS, such as PostgreSQL, MS SQL Server, MySQL, etc. -Experience architecting Big Data and ML solutions with AWS products (Redshift, DynamoDB, Lambda, S3, EMR, SageMaker, Lex, Kendra, Forecast etc.) -Experience articulating business questions and using quantitative techniques to arrive at a solution using available data -Experience with agile/scrum methodologies and its benefits of managing projects efficiently and delivering results iteratively -Excellent written and verbal communication skills including data visualization, especially in regards to quantitative topics discussed with non-technical colleagues
US, CA, San Francisco
About Twitch Launched in 2011, Twitch is a global community that comes together each day to create multiplayer entertainment: unique, live, unpredictable experiences created by the interactions of millions. We bring the joy of co-op to everything, from casual gaming to world-class esports to anime marathons, music, and art streams. Twitch also hosts TwitchCon, where we bring everyone together to celebrate, learn, and grow their personal interests and passions. We’re always live at Twitch. Stay up to date on all things Twitch on Linkedin, Twitter and on our Blog. About the role: Twitch builds data-driven machine learning solutions across several rich problem spaces: Natural Language Processing (NLP), Recommendations, Semantic Search, Classification/Categorization, Anomaly Detection, Forecasting, Safety, and HCI/Social Computing/Computational Social Science. As an Intern, you will work with a dedicated Mentor and Manager on a project in one of these problem areas. You will also be supported by an Advisor and participate in cohort activities such as research teach backs and leadership talks. This position can also be located in San Francisco, CA or virtual. You Will: Solve large-scale data problems. Design solutions for Twitch's problem spaces Explore ML and data research
US, CA, San Francisco
About Twitch Launched in 2011, Twitch is a global community that comes together each day to create multiplayer entertainment: unique, live, unpredictable experiences created by the interactions of millions. We bring the joy of co-op to everything, from casual gaming to world-class esports to anime marathons, music, and art streams. Twitch also hosts TwitchCon, where we bring everyone together to celebrate, learn, and grow their personal interests and passions. We’re always live at Twitch. Stay up to date on all things Twitch on Linkedin, Twitter and on our Blog. About the role: Twitch builds data-driven machine learning solutions across several rich problem spaces: Natural Language Processing (NLP), Recommendations, Semantic Search, Classification/Categorization, Anomaly Detection, Forecasting, Safety, and HCI/Social Computing/Computational Social Science. As an Intern, you will work with a dedicated Mentor and Manager on a project in one of these problem areas. You will also be supported by an Advisor and participate in cohort activities such as research teach backs and leadership talks. This position can also be located in San Francisco, CA or virtual. You Will: Solve large-scale data problems. Design solutions for Twitch's problem spaces Explore ML and data research
US, CA, San Francisco
About Twitch Launched in 2011, Twitch is a global community that comes together each day to create multiplayer entertainment: unique, live, unpredictable experiences created by the interactions of millions. We bring the joy of co-op to everything, from casual gaming to world-class esports to anime marathons, music, and art streams. Twitch also hosts TwitchCon, where we bring everyone together to celebrate, learn, and grow their personal interests and passions. We’re always live at Twitch. Stay up to date on all things Twitch on Linkedin, Twitter and on our Blog. About the role: Twitch builds data-driven machine learning solutions across several rich problem spaces: Natural Language Processing (NLP), Recommendations, Semantic Search, Classification/Categorization, Anomaly Detection, Forecasting, Safety, and HCI/Social Computing/Computational Social Science. As an Intern, you will work with a dedicated Mentor and Manager on a project in one of these problem areas. You will also be supported by an Advisor and participate in cohort activities such as research teach backs and leadership talks. This position can also be located in San Francisco, CA or virtual. You Will: Solve large-scale data problems. Design solutions for Twitch's problem spaces Explore ML and data research
US, CA, San Francisco
About Twitch Launched in 2011, Twitch is a global community that comes together each day to create multiplayer entertainment: unique, live, unpredictable experiences created by the interactions of millions. We bring the joy of co-op to everything, from casual gaming to world-class esports to anime marathons, music, and art streams. Twitch also hosts TwitchCon, where we bring everyone together to celebrate, learn, and grow their personal interests and passions. We’re always live at Twitch. Stay up to date on all things Twitch on Linkedin, Twitter and on our Blog. About the role: Twitch builds data-driven machine learning solutions across several rich problem spaces: Natural Language Processing (NLP), Recommendations, Semantic Search, Classification/Categorization, Anomaly Detection, Forecasting, Safety, and HCI/Social Computing/Computational Social Science. As an Intern, you will work with a dedicated Mentor and Manager on a project in one of these problem areas. You will also be supported by an Advisor and participate in cohort activities such as research teach backs and leadership talks. This position can also be located in San Francisco, CA or virtual. You Will: Solve large-scale data problems. Design solutions for Twitch's problem spaces Explore ML and data research
US, WA, Seattle
We are a team of doers working passionately to apply cutting-edge advances in deep learning in the life sciences to solve real-world problems. As a Senior Applied Science Manager you will participate in developing exciting products for customers. Our team rewards curiosity while maintaining a laser-focus in bringing products to market. Competitive candidates are responsive, flexible, and able to succeed within an open, collaborative, entrepreneurial, startup-like environment. At the leading edge of both academic and applied research in this product area, you have the opportunity to work together with a diverse and talented team of scientists, engineers, and product managers and collaborate with others teams. Location is in Seattle, US Embrace Diversity Here at Amazon, we embrace our differences. We are committed to furthering our culture of inclusion. We have ten employee-led affinity groups, reaching 40,000 employees in over 190 chapters globally. We have innovative benefit offerings, and host annual and ongoing learning experiences, including our Conversations on Race and Ethnicity (CORE) and AmazeCon (gender diversity) conferences. Amazon’s culture of inclusion is reinforced within our 14 Leadership Principles, which remind team members to seek diverse perspectives, learn and be curious, and earn trust Balance Work and Life Our team puts a high value on work-life balance. It isn’t about how many hours you spend at home or at work; it’s about the flow you establish that brings energy to both parts of your life. We believe striking the right balance between your personal and professional life is critical to life-long happiness and fulfillment. We offer flexibility in working hours and encourage you to find your own balance between your work and personal lives Mentor & Grow Careers Our team is dedicated to supporting new members. We have a broad mix of experience levels and tenures, and we’re building an environment that celebrates knowledge sharing and mentorship. Our senior members enjoy one-on-one mentoring and thorough, but kind, code reviews. We care about your career growth and strive to assign projects based on what will help each team member develop into a better-rounded engineer and enable them to take on more complex tasks in the future. Key job responsibilities • Manage high performing engineering and science teams • Hire and develop top-performing engineers, scientists, and other managers • Develop and execute on project plans and delivery commitments • Work with business, data science, software engineer, biological, and product leaders to help define product requirements and with managers, scientists, and engineers to execute on them • Build and maintain world-class customer experience and operational excellence for your deliverables
US, Virtual
The Amazon Economics Team is hiring Interns in Economics. We are looking for detail-oriented, organized, and responsible individuals who are eager to learn how to work with large and complicated data sets. Some knowledge of econometrics, as well as basic familiarity with Stata, R, or Python is necessary. Experience with SQL, UNIX, Sawtooth, and Spark would be a plus. These are full-time positions at 40 hours per week, with compensation being awarded on an hourly basis. You will learn how to build data sets and perform applied econometric analysis at Internet speed collaborating with economists, data scientists and MBAʼs. These skills will translate well into writing applied chapters in your dissertation and provide you with work experience that may help you with placement. Roughly 85% of interns from previous cohorts have converted to full time economics employment at Amazon. If you are interested, please send your CV to our mailing list at econ-internship@amazon.com.
US, WA, Seattle
Amazon internships are full-time (40 hours/week) for 12 consecutive weeks with start dates in May - July 2023. Our internship program provides hands-on learning and building experiences for students who are interested in a career in hardware engineering. This role will be based in Seattle, and candidates must be willing to work in-person. Corporate Projects (CPT) is a team that sits within the broader Corporate Development organization at Amazon. We seek to bring net-new, strategic projects to life by working together with customers and evolving projects from ZERO-to-ONE. To do so, we deploy our resources towards proofs-of-concept (POCs) and pilot programs and develop them from high-level ideas (the ZERO) to tangible short-term results that provide validating signal and a path to scale (the ONE). We work with our customers to develop and create net-new opportunities by relentlessly scouring all of Amazon and finding new and innovative ways to strengthen and/or accelerate the Amazon Flywheel. CPT seeks an Applied Science intern to work with a diverse, cross-functional team to build new, innovative customer experiences. Within CPT, you will apply both traditional and novel scientific approaches to solve and scale problems and solutions. We are a team where science meets application. A successful candidate will be a self-starter comfortable with ambiguity, strong attention to detail, and the ability to work in a fast-paced, ever-changing environment. As an Applied Science Intern, you will own the design and development of end-to-end systems. You’ll have the opportunity to create technical roadmaps, and drive production level projects that will support Amazon Science. You will work closely with Amazon scientists, and other science interns to develop solutions and deploy them into production. The ideal scientist must have the ability to work with diverse groups of people and cross-functional teams to solve complex business problems.