Client Background

Client is an Indian online fashion retailer that sells apparel, footwear and accessories only for the 18-35 age cohort.


Business Objective

Client wanted to create a suite of algorithm(s) for arranging products on the product listing page for various categories/subcategories in likelihood of getting purchased or added to the cart.


Factors driving this business need:


  1. Client doesn’t use any personalization on its listing pages (category/subcategory) due to which visitor has to scroll down to discover relevant items which isn’t great for user experience
  2. Product hierarchy is static and same for every visitor irrespective of previous visits/purchase/preferences and other recent actionsThere are three top level categories with subcategories on client’s website:Clothing: T-Shirts, Formal Shirts, Casual Shirts, Casual Bottoms, Formal Trousers etc.
    Footwear: Formal Shoes, Casual Shoes, Sports Shoes
    Accessories: Bags & Wallets, Belts



Our team identified that each category/sub-category had distinct features and hence it was appropriate to develop recommendation algorithms at visitor level specific for each category/subcategory. Creation of these algorithms was automated through script. Below are the series of steps that were involved in creation of algorithms:


  1. We collected all historical visits to category/sub-category listing pages: including product/SKU impressions and resulting clicks with respect to each visit.
  2. Target flags were defined to model for combination of click/add to cart/purchase events.
  3. Exhaustive list of features were created based on product metadata, visitor engagement with category/sub-category i.e past click/purchase/add to cart of same SKU etc. Typical attributes involve product specific features such as Brand, Color, Size, Pattern, Fit etc. and recency attributes. Product features helped us discover visitor preferences with respect to each visitor whereas recency attributes helped us assess impact of previous visit in ranking
  4. We then created ML algorithms using linear & non-linear regression techniques to identify important attributes and related weights for prioritisation. Final algorithms were chosen after tuning for hyper parameters and optimal F1 score.
  5. Share these attributes and associated weights with client’s technical team for implementation


Algorithms thus finalized were shared with the client’s devops team for implementation and integration with consumer side application.


  1. Personalized website experience for visitors based on their product purchases, preferences and browsing history doing away with general static rules.
  2. 10% increase in clicks in first three months of implementation in controlled A/B tests.