Can I create my own machine-learning (ML) model for Product Recommendations?
At present, you can use only the ML models made by Optimizely.
Can I import and use external data with ML models?
Can I import and use external data such as Geo data regarding point-of-sale location, store type, and Enterprise resource planning (ERP) stock information in the ML models for product recommendations?
This kind of data would not be directly imported into the ML models, but the models could use this attribution contextually to refine the results returned from the model. For instance, if a product can only be sold in location A or to customer A, then you can set up tracking to ensure that only the appropriate users can see these products recommended.
In JSON variable tracking format, the specific focus is on User > info parameter. You can pass information about a specific user as they enter the site, such as location=A. Product Recommendations uses this information to only provide recommendations/products available for that location to that user.
Stock information is passed to the engine through the product feed. Each product has a quantity of stock assigned to it. You can link your ERP information to send the stock levels to the feed. If you have high or quick turnover, then update the feed periodically to ensure up-to-date stock levels. Typically, clients upload one feed per day, but the stock levels only update in Product Recommendations when the feed is refreshed.
How does Product Recommendations work with Personalization?
How does your recommendation engine work together with personalization, and how are insights used for product recommendations used for personalized experience and vice versa? Are there two separate products or modules architectures, or are personalization and product recommendation very much linked together?
Product Recommendations was originally built as a standalone product and therefore has a separate architecture from the other forms of personalization that Optimizely offers. They are in essence two separate products. However, you can link the tools together. For instance, you could use visitor group personalization to only render a block of product recommendations when a user meets certain criteria. You could also leverage personalized Search & Navigation to create automatic landing pages, at which point you could leverage a product recommendations block on this page.
You also can link the A/B testing capabilities within Optimizely Content Management System (CMS) and Optimizely Feature Experimentation to the A/B testing capabilities within product recommendations, but there is currently no standard, native way of doing so. Instead, you need to do some custom work to synchronize cookies between the products.
How do I get started with Product Recommendations?
The two fundamentals of product recommendations are a product feed and tracking.
- Product feed – provides the products that can be recommended and contains all of the relevant information for a given product, such as title, price, category, stock. You can pass any attribution in the feed. If you are using the Optimizely Commerce platform, there is an export product feed job within the Admin console that automatically creates an XML feed for the client:
- Tracking – relates to page, click, and order tracking. Each page type needs to be tracked. Then, widgets need to be tracked to ensure all clicks are marked and this needs to be consistent across the entire user journey.
Work with Optimizely to set up top-level widgets. However, you can affect the widgets through the idea of merchandising campaigns. See Set up an Optimizely Product Recommendations campaign.
Can I run my own ML-based recommendation?
Can I run my own ML-based recommendation and showcase these through your engine, if we do modelling beyond what Optimizely provides?
Not directly through Product Recommendations, but you can combine your modelling with the Optimizely recommendations. For example, if you have a widget that serves 10 recommendations, the first five recommendations can come from your in-house ML model and the remaining five recommendations can come from Optimizely. You can do this because you have complete front-end rendering control over the display of the widget.
However, Optimizely cannot track the performance of those first five recommendations served by your ML model, unless there is some way for those products to be manually served by Optimizely.
How does Optimizely track KPIs?
We track KPIs through the tracking setup during the onboarding phase. The main KPIs we track are as follows:
- Clicks – Optimizely tracks every click made on a widget and compares this against the number of impressions generated. (Impressions are the number of times a widget is sent by Optimizely Example: if one widget is served on the homepage and the page is refreshed 10 times, then this results in 10 impressions, (one impression per page load).
Clicks and impressions calculate the click-through rate, which provides insights into how many customers are engaging with recommendations
- Orders – Optimizely tracks every order that is carried out on the site, and Optimizely can identify whether an order contains a product from a recommendations widget. This lets Optimizely track how many orders contained products from a personalized experience
The product recommendations tracking has a 30-day attribution window, meaning that if a user clicks on a recommendation on day 1, as long as they purchase this product within 30 days, it is attributed towards Optimizely.
- Products sold – Similar to orders, Optimizely can identify whether products are contained in a user's basket and order, and can identify which of those products were added to the basket through a widget or recommendation block.
- Revenue – From identifying the number of products sold through a recommendation widget, Optimizely can extract how much revenue was derived directly from a widget engagement.
If a user has a basket of 10 products totaling to $100 and one of those products was added to the basket through a recommendation widget, at a value of $10, when the user completes their order, $10 of revenue is assigned to revenue generated by Optimizely.
- Conversion – Conversion is tracked in the form of clicks to purchase (CTP). This is a ratio between the number of clicks on a widget and the number of items purchased. So, if there are 1,000 clicks and 500 items purchased from those clicks, then CTP would be 50%