Overstock's machine learning personalization engine

Learn how Overstock implemented sustainable machine learning personalization systems to create seamless customer experiences and drive one-to-one engagement.

machine learning personalization

This blog is based on a webinar featuring Craig Kelly, Group Product Manager at Overstock. If you’d like to take a look at the recording, you can see it here

Overstock.com initially sold surplus and returned merchandise at its founding, but later extended its offerings to include new merchandise and a seller marketplace, with a focus on home goods. Today, it’s one of the largest online retailers in America, with annual revenues of nearly two billion dollars.

Much of Overstock’s continued success can be attributed to its ongoing commitment to innovation of the overall customer experience, and to facing down some difficult technical challenges. To create their optimized personalization stack, Overstock’s growth and data science teams needed to identify and deploy a data storage solution capable of handling their stream of customer data, as well as find a way to organize and model it effectively. Overstock’s team rose to the challenge and implemented sustainable, scalable technical systems able to create seamless customer experiences and drive one-to-one engagement. In this blog, you will learn how Overstock built a marketing stack with personalization and mParticle at its core while solving some of the toughest technical challenges faced by eCommerce retailers.

eCommerce and the rise of personalization

Online retail is a competitive space; to differentiate itself from competitors, Overstock focuses on creating seamless, one-to-one marketing experiences that exceed expectations.  With millions of SKUs, a personalized user experience is needed to curate to each individual shopper’s affinities. To do this, Overstock’s growth team needed an agile marketing machine that enabled them to put new systems into place, collect and analyze customer data, and test content and channels at lightning speed to win in the moment.

When Craig Kelly, Group Product Manager at Overstock, and his team set out to upgrade their marketing stack with three important criteria mind: it needed to work in real time, it needed to be streamlined, and it needed to be future-proof.

Overstock’s one-to-one foundation

After a comprehensive search, Craig and his team landed on a simple but powerful foundation consisting of a Customer Data Platform (mParticle), a data warehouse (Snowflake), and a machine learning provider (Databricks) with which to collect, ingest, and activate their customer data. From there, data is streamed via a real-time API to Overstock’s API advertising channels, demand-side platforms, and messaging platforms to reach and engage with customers at the right time, in the right way.

But putting such a solution into practice was only half of the equation; the Overstock team needed to know that their stack would be able to keep up with a changing market and scale easily.

With mParticle at the center, they could rest assured the solution was not only flexible but also extensible. Overstock chose to create a marketing stack with a three-part data foundation that collects, organizes, and models data before sending it on to their activation channels, which include demand-side platforms, API advertising platforms, and messaging providers. Overstock chose mParticle as its central data layer, which collects user-level data and orchestrates it across their stack, for true one-to-one marketing without placing an undue burden on their engineering department.

In eight months in integrating mParticle, we’ve been able to build an entire interconnected system where our channels actually talk to each other.

Craig Kelly

Group Product Manager at Overstock

How it works

Before proceeding into a more detailed account of how Overstock’s personalization machine functions, we’ll go over the data flow at a higher level: raw user-level data comes in through mParticle, is forwarded to Snowflake where it is rolled up into features, the features are sent to Databricks as model inputs and model outputs come back to mParticle as user attributes that are forwarded to ad platforms, email providers, social platforms, and beyond. When customers take actions on the site or open an email, for example, those data points are collected and ingested to build a continuously-updating user profile that enables Overstock to tailor marketing towards individual customers’ preferences and informs ad bidding in real time. Of course, the actual process is more complicated than that.

Solving the storage problem

When building their stack, a critical component the team needed to address was bid automation for online advertising. Overstock began working with a demand-side platform to automate online ad bidding based on user-level scoring defined by data collected by mParticle.  This efficiency improvement allowed for hours to be freed up for the marketing team that would otherwise be spent manually managing bidding.

However, this process created enormous customer and bidding data sets that still needed to be analyzed and transformed to be truly useful. Besides that, the data sets being created were accumulating in Overstock’s AWS Simple Storage Service (S3) buckets (Amazon’s cloud object storage); AWS’ S3 service is highly scalable, but AWS services can become very costly as you increase the size, type, and number of your spun up instances.

To streamline this process, Craig Kelly and his team began using SQL-based Snowflake for data warehousing and analysis alongside AWS Lambda for simple triggering services. Using these two services enabled Overstock’s data science team to access and manipulate customer data more easily than ever before thanks to Snowflake’s SQL querying and elastic compute.

Data modeling and experimentation

Solving the data pipeline storage issue let the team focus on the next big opportunity: machine learning and data modeling. Using Snowflake, the data science team identified user features they determined were significant for targeting purposes. Once these features were identified, the team began using Apache Spark on the Databricks cloud for machine learning, allowing them to create and deploy machine learning models within a day compared to weeks or months previously.

That’s where Overstock has been able to truly shine—the speed with which machine learning models can be deployed allows the growth team to experiment with how data is ingested and interpreted. This agility and flexibility gives Overstock an edge over competitors as they are able to glean new insights into their customers and their behavior quickly and pivot their marketing efforts to reflect findings.

Data-driven marketing

The model outputs are sent back to mParticle as user attributes via AWS Firehose, where marketing can further slice and dice through the data before creating audience segments with mParticle AudienceSync and syncing to API advertising channels, demand-side platforms, and messaging channels. The predictive user data available to Overstock’s marketers allows them to create hyper-personalized experiences based on details like style preferences, product preferences, channel propensities—or how customers interact with different owned and paid channels, channel conversion likelihood, and even expected value of purchase. This data provides invaluable context for Overstock’s automated ad bidding; instead of using more rudimentary methods to determine when and how much Overstock is willing to bid on advertising.

This is a big change from the prototypical segment view many eCommerce companies use to target customers; usually, customer data is aggregated into large audience segments depending on behavioral and demographic data. With this segmented view of their customer base, marketers are reduced to using a “spray and pray” methodology, hoping the messaging somehow reaches and resonates with the right person.

When you compare marketing towards real customers versus marketing towards a proxy created from aggregate data, real customers are going to win every time. The level of personalization allowed by Overstock’s marketing stack means they can cater promotions to individual customers, so they can target the right person, with the right content, through the right channel, at the right time. Thanks to mParticle, Overstock’s marketing engine is supplied with real-time customer data to feed into their machine learning models and drive marketing directives.


So, you may be asking yourself: “This all sounds great, but what results Overstock has recorded since employing their personalization stack?”

In the time Overstock has been using this stack they have seen:

  • An overall 10% increase in advertising efficiency across the marketing department in the first eight months.
  • The data model deployment cycle has decreased from an average of three months per model to one day.
  • Reduction in launch cycle for vendors from being measured in months to being measured in days.
  • Highly-tailored email messaging and improved recommendations for customers based on their preferences
  • Improvement in conversion rate and resource consumption
  • Lowered API dependencies and higher system uptime
  • Highly accessible and structured data
  • Increased ability to test across content, channels, audiences, and platforms


Overstock has set up a system comprised of consistent data structures with the ability to test quickly and establish baselines for performance, leading to growth in the highly-competitive space of eCommerce. Using mParticle to collect and orchestrate customer data enables Overstock to create comprehensive profiles by resolving customer identities from different sources, tie customer preferences and actions to these profiles, and create true one-to-one marketing based on persistent profiles. With this stack, Overstock has increased its comprehension and organization of customer data and made it actionable in real-time, leading to faster deployment, optimized resource usage, improved efficiency, and a better understanding of their customers without relying on engineering. For Overstock, creating this powerful personalization engine has been a success, but that doesn’t mean they are resting on their laurels. As innovators, the team at Overstock is now setting their sights on identity and omnichannel customer experience as their main focus, with mParticle at the helm.

If you’d like to learn more about how mParticle can help you create an agile, dynamic stack capable of increasing your efficiency and maximizing ROI, feel free to reach out!

mParticle’s software solutions are written in C Sharp and Javascript and hosted on Amazon Web Services. The speed, support and autoscale capabilities of AWS large-scale services allow mParticle’s team to stay focused on building great products that deliver impact and value to its customers.

Latest from mParticle

MACH Alliance and mParticle featured image


Leading the next generation of CDP solutions: mParticle celebrates acceptance into the MACH Alliance

Madeleine Doyle – April 16, 2024
A stock image of a woman hiking with the onX logo

How onX accelerated marketing campaigns with mParticle's AI engine

April 17, 2024
A headshot of mParticle's Director of Digital Strategy & Business Value, Robin Geier


Introducing Robin Geier: mParticle's Director, Digital Strategy and Business Value

Robin Geier – April 16, 2024
M&S Customer Story

How Marks & Spencer drove revenue growth with mParticle's real-time segmentation and personalization

February 26, 2024

Try out mParticle

See how leading multi-channel consumer brands solve E2E customer data challenges with a real-time customer data platform.

Explore demoSign upContact us

Startups can now receive up to one year of complimentary access to mParticle. Receive access