A Pinch of Machine Learning for Your WooCommerce Store

A year ago, we launched Product Recommendations to make it easier for WooCommerce merchants to:

  • create rule-based product recommendation strategies and deploy them site-wide; and
  • use in-depth analytics to measure the impact of these strategies and make better decisions.

Rule-based recommendations are a valuable merchandizing tool that helps increase customer engagement and grow sales. However, they are not intelligent enough to learn from your data, and can’t make smart decisions on their own. This is where technology comes in handy: Machine learning algorithms can analyze customer behavior and purchase history to uncover interesting patterns, which can be used to intelligently match products with other products, or products with customers.

But are automated algorithms really a silver bullet for everyone? Not quite! As a rule of thumb, the benefits of using machine learning algorithms are more pronounced as catalog size and order volume increase. If you are maintaining a tiny catalog and only receive a few orders every month, intelligent algorithms will only validate what you already know. In this case, rule-based strategies will probably serve you just as well. Automated recommendations start to make sense when the volume and variety of your data exceeds your capacity to process it empirically.

Until now, the preferred option for WooCommerce merchants interested in offering automated product recommendations was to connect their store with an external personalization platform that takes care of all the hard work. But these services don’t come cheap: Machine learning libraries and distributed systems are expensive to set up, maintain, and fine tune. For some merchants, the benefits will outweigh the costs. But there’s another side to this story: To generate recommendations, these platforms must be able to track every single transaction and event that takes place on your store. If you have never wondered how much you value your data, you might want to think about it before you hand over the key to your store’s front door.

So, what are the alternatives, then?

  1. Build, roll out, and maintain your own distributed solution — For some stores with resources to spare, building a tailor-made solution can be a cost-effective approach, under certain circumstances. If you have already done the numbers and they look good, stop reading, and go back to building!
  2. Find a WooCommerce plugin that gets the basics right — If you can’t afford an external service, or want to be in control of your data, another option is to find a WooCommerce plugin suitable for the job. Unfortunately, most plugins that cater to this need tend to produce rather mixed results, and are known to perform poorly on high-traffic sites. After all, WordPress was never built to run machine learning algorithms. Right?

What’s New

At SomewhereWarm, we always believed that good products should make technology more accessible to a wider audience. This is why we’ve been actively looking for ways to make more advanced recommendation engines available natively in WordPress. In the last few years, search engines like Elasticsearch have been successfully used to solve relevance problems in various domains, including personalization and product recommendations. These solutions have been found to be cheaper and less complex in comparison to machine learning libraries and distributed systems. Today, search engines are widely considered to be one of the best ways to start building a state-of-the-art recommendation platform.

Realizing that search engine algorithms can be ported, with many simplifications, to the WordPress environment, we started to experiment with this approach. The tide turned with the arrival of WooCommerce 4.0, as the new order lookup tables gave us the foundation we needed to build a scalable algorithm for delivering state-of-the-art recommendations.

Today, we’re excited to announce that Product Recommendations v1.4, due for release in the next few days, will include two intelligent amplifiers:

  • Bought Together
  • Others Also Bought

Both amplifiers work efficiently and only when needed in the background to identify statistically significant relationships between products. The first amplifier evaluates relevance by analyzing individual orders, while the second one by analyzing customer purchases. Here’s an example:


Coming soon in v1.4: Automated “Bought Together” recommendations.


In this example, the Bought Together algorithm recommends the most relevant products that are likely to be purchased in the same order as “White Shirt”. If we had used Others Also Bought instead, the plugin would recommend those other products that are most likely to be purchased over a customer’s lifetime, given they have purchased “White Shirt”.

To evaluate “relevance”, Product Recommendations uses a significance scoring function that “compares” the number of orders or customers that contain both “White Shirt” and each candidate product, against the number of orders or customers that contain the candidate. In this example, “Bow Tie” was amplified because the percentage of “White Shirt” orders that also contained “Bow Tie” was significantly higher than the percentage of orders that contained “Bow Tie”. Those interested in fine-tuning the algorithm will find many configurable parameters/thresholds to play with, along with 2 significance scoring functions.

Currently, both amplifiers can be used to generate automated recommendations only in product pages. Later, we plan to extend the feature to work in more locations, based on cart/order contents.

If you’ve been thinking about offering product recommendations in your WooCommerce store, now is a great time to start experimenting. We are confident that the new release will encourage more of you to add a pinch of machine learning to your WooCommerce store, at a far lower cost than ever before.

Got questions? Want to take the new version for a test drive? We’d be thrilled to hear about your experience. Get in touch, and let us know what you think! 👋