ℹ️NOTE: Kaskada is now an open source project! Read the announcement blog.
When it comes to shopping for a given product, consumers can choose from many different online and retail outlets, each of which is vying for their attention in an increasingly competitive marketplace. In order to stand out, retailers need to provide each customer with an individualized shopping experience that speaks uniquely to them. This is accomplished via hyper-personalization, the application of AI and machine learning technology to learn from customer behavior and customize the shopping experience accordingly in order to match each consumer’s individual preferences. In doing so, retailers can better attract their target demographics, improve customer engagement, and ultimately increase customer lifetime value.
Website Content Personalization
One of the best ways to achieve hyper-personalization is by creating catered web content that is specific to individual customers. Many aspects of a retailer’s website can be personalized, from the content layout, to the landing page, to product recommendations, to the order flow. Based on past and real-time browsing history, retailers can learn about their customer’s specific preferences. For example, a clothing retailer might learn that previous to landing on their homepage, a customer visited a number of sites pertaining to a particular product category. Using this information, a machine learning model can learn to push recommendations for similar products that are tailored toward this particular customer. They might also be able to gather personal details such as a user’s name or birthdate and use these to provide them with birthday offers or personalized greetings.
While website personalization has many obvious benefits, its implementation can sometimes prove challenging. User activity data streams are constantly growing, and the associated feature engineering can prove complex. Temporal leakage can occur when subsampled points from the time series are used to predict intervening points, leading to models which appear to generalize but which in reality don’t. Being able to iterate quickly on feature definitions is also critical–a feature should continuously update itself as new data is streamed in, which is not possible with static feature stores. Furthermore, mapping feature definitions to user behavior and building understandable models is not possible without a feature engine that transparently computes features based on continuous streams of data. Finally, part of being able to choose the right feature is being able to rapidly iterate on different feature definitions. A feature engine makes this iterative process seamless, obviating the need to write many convoluted database queries in order to experiment with different feature definitions.
Personalization based on Shopping History, Behavior, and Insights
As briefly mentioned in the last section, a customer’s shopping history and behavioral patterns provide one of the richest sources of mineable data for personalization. Shopping history can be sourced from both the customer’s account on a retailer’s website and third-party data acquirable via cookies. The value added here is clear. By understanding which items a customer has purchased in the past, retailers can predict using machine learning which items the customer is most likely to purchase in the future and then serve them recommendations linking to these items. Insights based on this data can be narrowly focused or far-reaching. A customer who has recently purchased a laptop will likely need accessories. Therefore, an electronics retailer would be well-served to recommend products such as laptop cases, USB A-to-USB C dongles, and docking stations. Less obviously, a model could infer that a customer who has recently purchased a blender, a toaster, and oven mitts might be moving to a new apartment and restocking on household essentials. As a result, it could recommend less closely related products such as cutlery sets, shower caddies, brooms, and mops.
Integrating customer behavior is one of the more technologically complex avenues of personalization. This most often takes the form of tracking the amount of time the user spends on various site pages, the ways in which the user clicks through the site, and the types of products they add to their cart. Based on this aggregated data, machine learning models can be trained to add specific calls to action or expose real-time offers in order to convince a customer to complete a purchase. For example, if a customer spends a lot of time reading the reviews for a particular book and adds it to their cart but then tries to exit from the web page, the machine learning tool can quickly display a modal that tries to entice the customer into checking out by offering them a limited-time 5% discount on their order. Similarly, if the customer does decide to leave the webpage, the site can follow up with them via a personalized email reminding them of their outstanding cart as well as offering recommendations for books by the same author. All of this machinery requires that machine learning models be able to operate in real-time and with low latency. The model needs to be able to predict on features that incorporate dynamic, time-based behaviors and serve results immediately. This has to happened before the customer has time to complete a new action such as leaving the site. Everything involved in customer behavior is a time-based behavior, from the actions they take on a website to the time they spend on a given page. ML analyzes customers’ behaviors from the past in order to predict what they will do in the future. Given accurate predictions, a retailer can infer based on the customer’s behavior what products they want and what offers they will be receptive to.
Dynamic Pricing and Min Discount Calculation
In order to optimize the sale of certain products, the price may need to be calculated dynamically. This dynamic pricing effect can also be accomplished by offering discounts to certain demographics. For example, a retailer offering a product may want to decrease their prices for lower-income residents of India but simultaneously may need to increase them for residents of the EU in order to offset the burden of import taxes and greater regulatory costs. Information about country of origin can be gleaned from a customer’s IP address, and product prices can be cost-adjusted accordingly. Similarly, as detailed in the last section, a company might want to decrease the price of a product or offer discounts based on a user’s behavior on their site.
Dynamic pricing need not be predicated on location information. Within the US alone, Amazon and Walmart are two well-known retailers that regularly vary their prices, on a timescale as short as every 10 to 15 minutes, based on consumer behavior and real-time product demand. On the basis of such dynamic pricing algorithms, Amazon was able to increase its sales by 27.2% in 2013.
Developing a model which handles dynamic pricing requires identifying the right features. Primary dimensions for specifying product demand might be selected by computing the number of impressions relative to specific demographics or the number of impressions relative to a particular product category. As the number of impressions and aggregate demand are time-varying variables, computing them requires combining historical data with real-time information. In database lingo, this requires a point-in-time join that joins different tables at a single point in time in order to recreate the data state at that particular time. This can be a very difficult task to accomplish without the help of a dedicated feature engine.
Loyalty Programs
Loyalty programs offer a way to engage customers by promising future rewards and gamifying the retail shopping experience. They are most commonly offered through a retailer’s website or mobile app and are typically implemented via virtual “points” that are accrued through digital or in-store purchases. Starbucks is famous for its app-based loyalty program which rewards customers based on their past purchases. Customers can trade in their points for free brewed coffee, bakery items, drink customizations such as flavor shots, or specialty drinks. Similarly, Sephora offers a popular loyalty program in which customers can earn points by purchasing Sephora merchandise and achieve different “status” levels based on those points, such as Very Important Beauty (VIB) status and Rouge status. Savvy retailers will use machine learning models to assess different ways of structuring their loyalty programs, from how to determine different status tiers to what sorts of rewards they will offer to customers.
In a related vein, this is how social media companies optimize the process of sending users notifications in order to keep them engaged. Retailers can send mobile app or email notifications that reach out to customers and encourage them to keep shopping, be that by providing useful product recommendations, helpful how-to guides that lend themselves towards product purchases, or incentivization via exclusive loyalty program offers and discounts. Knowing when and how to send notifications, as well as which mediums work best, is something that is likely different for each customer and can be optimized via machine learning models which have access to real-time streaming data based on that customer’s behavior and past purchases. Even details as fine-grained as deciding what types of offers to provide and when to schedule them can be fine-tuned and traded off by a machine learning model trained on a rich enough dataset.
For loyalty programs, there are endless types of data that can be collected in order to form more complete pictures of customer segments. For example, Starbucks is known to aggregate all data on user purchases made through the Starbucks app, and from there they can predict down to the day of the week, and even the time of day, which menu items you are most likely to purchase, and from there provide enticements to get you to indulge just a little bit more. They are even able to include location, weather events (such as an oncoming storm that might send you seeking shelter in your nearest store), and local inventory data in order to determine which location you are most likely to visit and how to nudge you towards placing a mobile order.
Track Everything
This leads us to our final point — track everything! There is no such thing as having too much data when it comes to knowing your customers. More data leads to better predictions and better customer experiences, which in turn leads to more purchases and increased customer lifetime value. While collecting data is critical, it’s also important to collect the right kind of data. The best data is often real-time or from the very recent past, as it provides the clearest snapshot of a customer at a given point in time. As a customer’s preferences evolve, so too does their behavior, and tracking that behavior is key to capturing the insights that it provides.
However, data is only so useful in isolation. Machine learning models require that features be generated from the data, and creating these features can be tricky in a dynamic environment where the data is constantly changing. When working with time-based and sequential data, it’s important to use a feature engine that can allow your model to rapidly iterate on time and event-based features. Being able to predict across the entire history of customer’s behavior in conjunction with incoming signals is essential for building models that can personalize to individual customers and promote retention and brand loyalty. It’s also critical to ensure that your models are heavily optimized for speed and scalability in order to function in the dynamic retail environment, both online and offline.
Wrapping Up
Hyper-personalization brings the power of machine learning to the retail environment, allowing retailers to better target customers and provide them with a superior shopping experience that is catered to their own, unique needs. By receiving product recommendations that are relevant to them and offers that pique their interest, customers are incentivized to return to a retailer’s website or brick-and-mortar location and make repeat purchases. In order to enable this level of personalization, retailers are encouraged to track everything that they can about their customers, and utilize the resulting insights gleaned from shopping history and behavior in order to personalize website content, compute dynamic pricing, and offer compelling loyalty programs. By tracking everything and harvesting the rich reservoirs of real-time data that are available, companies stand to better reach potential customers, increase the engagement of the customers they already have, improve customer loyalty, and maximize customer lifetime value. Having loyal customers is essential to building a thriving business, both from a fiscal and a marketing standpoint. Loyal customers continually return to a company to make repeat purchases that generate dependable long-term revenue. Furthermore, they often act as brand ambassadors by advocating for a company and its products to friends and family members.