Product Recommendation
Product recommendation is personalized product listings designed for individual website visitors. These recommendations are customized based on information about the visitors, including their behavior and preferences, or by considering the behavior and preferences of similar customers.
You can see below image where customer searched for one vacation dress, there are recommendations for similar other dresses & also some accessories which bought by other customers together with dress.
Fashion is now easily accessible in physical and online stores, with fast fashion retailers like Primark and H&M changing the way products are presented. Their rapid inventory turnover allows new designs to go from creation to store shelves in just one to five months.
As the trend of fashion businesses transitioning or expanding their presence online, retailers now acknowledge the importance of employing analytical approaches in fashion industry.
Online retailers, especially in the fashion industry, face a key challenge in developing recommender systems related to preserving brand identity and maintaining visual merchandising consistency. High-end fashion recommenders rely on industry-specific principles, but consistently upholding these can be challenging. Personalized recommendations are crucial in connecting products with customers’ emotional interactions and tastes.
In the mobile technology context, with its constraints like small screens and limited bandwidth, effective product recommendations become even more vital. Mobile apps typically offer 4 or 5 recommendations per item to enhance the user experience. Retailers must ensure accurate and appealing recommendations on the first try, as users have a limited patience for browsing before moving on to the next shopping destination.
Recommender systems are generally classified into three main categories:
1. Collaborative Filtering:
A collaborative recommendation system for the fashion retail industry relies on user behavior and preferences to suggest items based on the preferences of similar users.
Components of the System:
- User Behavior:
- User Interactions: Collect data on users’ interactions, such as product views, purchases, likes, and ratings.
- User Profiles: Create user profiles based on their fashion preferences, brands, styles, and shopping history.
- Item Representation:
- Product Similarity: Represent products based on their similarity to other products. This can be achieved by analyzing co-occurrence patterns or using collaborative filtering algorithms.
- Collaborative Filtering:
- User-Based Collaborative Filtering (UBCF): Recommends items based on the preferences of users who are similar to the target user. If user A likes items X and Y, and user B likes item X, there’s a likelihood that user B will also like item Y.This algorithm works well, but it’s slow and needs a lot of resources. It has to calculate information for each customer pair, which takes time. So, it’s tough to use on big platforms.
- Item-Based Collaborative Filtering (IBCF): Recommends items that are similar to those the user has liked or interacted with in the past. It identifies items that are often liked or interacted with together. This algorithm uses significantly fewer resources compared to user-user collaborative filtering. Therefore, for a new customer, it takes much less time than user-user collaboration because we don’t have to calculate similarity scores for all customer pairs.
- Recommendation Engine:
- Neighborhood Methods: Use algorithms to identify neighborhoods of users or items with similar preferences.
- Matrix Factorization: Employ techniques like Singular Value Decomposition (SVD) or Alternating Least Squares (ALS) to factorize the user-item matrix and uncover latent factors.
Example Scenario:
- User Interaction:
- User X frequently purchases casual and sporty wear.
- User Y often buys formal clothing from high-end brands.
- User Z has a mix of preferences, including casual and occasional formal wear.
- Product Catalog:
- Product A: Casual, affordable.
- Product B: Sporty, mid-range.
- Product C: Formal, high-end brand.
- Recommendations:
- For User X: Suggest items that users with similar profiles (liking casual and sporty wear) have interacted with, such as Products A and B.
- For User Y: Recommend formal wear and high-end brands that users with similar preferences have engaged with, like Product C.
- For User Z: Provide a mix of recommendations based on the diverse preferences within their user neighborhood.
- Adaptation:
- As users continue to interact, the collaborative recommendation system adapts, refining suggestions based on evolving user behavior.
Amazon is the pioneer of item based collaborative filtering in online space using a technology they licensed in 1997. Whenever you choose a certain product, you also see a list of similar items. This is based on a sophisticated algorithm which recommend products for customers recognized through log in and cookies.
Let’s understand collaborative filtering by visualization.
2. Content-Based Filtering:
A content-based recommendation system for the fashion retail industry focuses on suggesting items to users based on their preferences, previous purchases, and the features of the products.
Components of the System:
- User Profile:
- User Preferences: Collect information about users’ preferences, such as preferred colors, styles, brands, and clothing categories.
- Purchase History: Record the user’s past purchases to understand their buying patterns.
- Product Representation:
- Feature Extraction: Extract features from the products, such as color, style, fabric, brand, and price.
- Tagging and Categorization: Tag each product with relevant attributes, such as “casual,” “formal,” “summer,” “winter,” etc.
- Similarity Calculation:
- Cosine Similarity: Calculate the similarity between the user profile vector and the product vectors using cosine similarity. This helps identify products similar to the user’s preferences.
- Recommendation Engine:
- Weighted Features: Assign weights to different features based on their importance to the user (e.g., giving higher weight to preferred brands or styles).
- Dynamic Updating: Regularly update user profiles based on their interactions and purchases.
Example Scenario:
- User Interaction:
- User A frequently purchases casual wear in neutral colors.
- User B often buys sporty and vibrant-colored items.
- User C prefers high-end brands and formal clothing.
- Product Catalog:
- Product X: Casual, neutral-colored, affordable.
- Product Y: Sporty, vibrant-colored, mid-range.
- Product Z: Formal, high-end brand, expensive.
- Recommendations:
- For User A: Recommend products similar to their past purchases, like X casual wear in neutral colors.
- For User B: Suggest sporty and vibrant-colored items like Y
- For User C: Recommend high-end, formal clothing from preferred brands like Z
- Adaptation:
- As users interact with the system, it continuously adapts, refining recommendations based on their evolving preferences.
- User Interaction:
Netflix uses content-based filtering by recommending movies with similar directors, genres, or actors to those a user has previously watched, enhancing the dataset for more accurate suggestions.
Let’s understand collaborative filtering by visualization.
3. Hybrid Methods:
Combines collaborative filtering and content-based filtering to leverage the strengths of both approaches. Hybrid models aim to improve the accuracy and overcome limitations associated with individual recommendation techniques.
Zalando, a prominent online fashion retailer, employs a diverse set of metrics and a combination of methods to develop sophisticated recommendation engines(Source :engineering.zalando.com). Key metrics include measuring click-through rates and gross revenue. Zalando also uses visitor conversion rates, revenue per visitor, average order value, average number of recommendation impressions and share of sold items attributed to recommendations. This retailer commonly employs a blend of collaborative filtering and content-based filtering for optimal results.
These categories encompass the fundamental approaches to building recommendation systems. However, within each type, there can be various algorithms and methods, and newer models may incorporate elements from multiple categories, leading to more sophisticated hybrid systems. The choice of the recommendation system type depends on factors such as the available data, the nature of the items, and the specific goals of the recommendation application.
Two main approaches for recommendation engines implementations:
01. User-Centric Recommendation Engine:
- Focus: Prioritizes understanding and predicting user preferences.
- Implementation: Recommends items based on the user’s past behavior, preferences, ratings, and interactions.
- Method: Collaborative filtering and content-based filtering are commonly used. Collaborative filtering involves analyzing user behavior and preferences to find similar users, while content-based filtering recommends items similar to those the user has liked before.
02. Item-Centric Recommendation Engine:
- Focus: Centers on the characteristics, features, and attributes of items.
- Implementation: Recommends items based on their intrinsic properties, such as genre, category, or specific features.
- Method: Content-based filtering is a common approach, where items are recommended to users based on the similarity between the items themselves.
Example: Imagine you’re in a rush for a last-minute birthday party. You quickly buy Lindt chocolate online as a gift. Another user, who bought the same chocolate, added a coffee mug to their order. Surprisingly, the website suggests a mug for you too. It’s not based on your personal history, but on similarities between items or users. So, the recommendations are more about what others with similar tastes are doing.
Comparison between user-centric & item-centric approaches:
User-centric approaches often provide more personalized recommendations by considering individual user profiles. In contrast, item-centric systems may provide recommendations based on the characteristics of items, with less emphasis on user-specific behavior.
User-centric systems may face challenges with new users who have limited interaction history. In contrast, item-centric systems can recommend items based on their inherent characteristics, making them potentially more suitable for new users.
Let’s see how to define similarity with an algorithm:
For now, let’s consider item based collaborative filtering, using the example of movie ratings on platforms like you tube. You have a list of all movies and their pairs, and another list of users with their rated movies. We figure out how similar different movies are using a score. Then, we rank the movies based on similarity. When a new user rates a movie, the algorithm predicts ratings and suggests movies with the best similarity scores.
If you’re seeking movie recommendations on YouTube and have given a top rating to “Empire Strikes Back,” the platform suggests other movies based on data from people who also liked that film. If both “Empire Strikes Back” and another movie get high ratings from many users, they’ll have a high similarity score. Conversely, if one movie has a high score and the other a low score, their similarity score will be low.
Now, when it comes to determining similarity, we have multiple choices.
One option is to opt for cosine-based similarity. In this approach, we treat the two items and their ratings as vectors, defining their similarity by examining the angle between these vectors.
Another option is to use pearson correlation for similarity. This method looks at how much the ratings from common users for a pair of items differ from the average ratings of those items.
Lastly, we have adjusted cosine similarity .The utilization of cosine similarity in the item-based collaborative filtering approach overlooks variations in user ratings. Adjusted cosine similarity addresses this limitation by compensating for it—subtracting the average rating of the respective user from each pair of co-rated items.
Python Implementation for Product Recommendation:
To understand that how we can use machine learning model to do Product Recommendation, please click on below link TBC
Let me give you some snapshot here for your understanding.