SlideShare a Scribd company logo
1 of 35
Download to read offline
Recommendation Play
     @Flipkart
Recommendation Systems aim to predict the
  user’s intent and help connect them to
products they need or may be interested in,
          in an automated fashion
Item-Item Recommendations
Frequently Bought Together
Why Recommendation
        Important?
Product discovery is an important step in
users interaction with an ecommerce website
and recommendation systems play a very
useful part in the discovery

This becomes ever so important with
increasing size of the catalog, making it
harder for every user to express their intent
through well formed queries
Recommendation Types
● Help Find: other similar products
  smartphones when on samsung galaxy sIII, other budget phones when at
  nokia 101



● Help Decide
  People who viewed this ended up buying



● Complete the purchase experience
  memory card for mobiles, cases for camera



● Excite or wow
  New Chetan Bhagat Novel, Printer ink after 6 months
Recommendation System

          =

         Data
          +
      Algorithms
Data for Recommendations
● Users interactions on the website

● Anything which reflects his/her interest on
  the items (browse, order, compare, review,
  etc)

● Any data that is applicable to all users of the
  website
Algorithms for Recommendations

● Collaborative Filtering
  ○ Item to Item
  ○ User to User

● Content Based Filtering
  ○ Meta data - music genres, brands, authors
  ○ Titles - books on java, accessories for nikon D90
Users   Items
                       User to User
         1
                ●   For user u, find the set
 A                  of users S(u) that have
         2          similar preference as u
 B              ●   Recommend popular
         3          items among users in S
                    (u) to user u.
 C
         4
 D
         5
Item to Item
Users   Items
                ●   For item i, find the set of
         1          items S(i) that are
                    touched together
 A
         2      ●   For every user u, find
                    set of items N(u) they
 B                  have browsed/bought
         3          before
 C              ●   For every item x in N(u)
         4          add S(x) to the
                    recommendation set
 D
         5      ●   Sort and show the
                    recommendation set
Users   Latent Nodes       Items

                            1
 A      budget cameras


                            2
 B          canon

                            3
 C
         classical music
                            4
 D
                            5
Deeper Dive
Item Item Collaborative Filtering
Collaborative Filtering

● Filtering for patterns using collaboration
  among multiple entities: agents, viewpoints,
  data sources, etc

● Automates the process of "word of mouth"
Data Modeling
● Bought History.
  ○ Items bought together in the same transaction.
  ○ Items bought by the User.


● Browse History
  ○ Items browsed together successively with in 5 mins.


● Compare History

● 30 secs music sample etc..
Algorithm
B1 -> P1, P2 , P3, P4
B2 -> P2, P3, P4
B3 -> P1, P2, P4 Item/
                   Item
                          P1   P2   P3   P4


                   P1     -    2    1    2
Recommendation     P2          -    2    3
P1 -> P2, P4, P3   P3               -    2
P2 -> P4, P1,P3
                   P4                    -
P3 -> P2, P4, P1
P4 -> P2, P1, P2
Recommendation Score
Recommendation Score                   between the Products.

                                       P1, P2 is
        P1
                                       Intersection count = 150

                                       P1, P3

                        100,000        Intersection count = 200
       1200
       Visits.                         After removing the
                                       popularity skew,

                                       P1, P2 is
                 1000 Visits
  P2                                   Score = 150 / 1000 = 0.15
                                  P3
                                       P1, P3 is

                                       Score = 200 / 100000 = 0.002
Formula:

Recommendation Score = ( i * i ) / ( n1 * n2).

Where,
 i = count of occurrences of items i1, i2
     together.
 n1 = # of occurrences of the item i1 alone.
 n2 = # of occurrences of the item i2 alone.
Computations Scale
● # of Product Page visits = 6 Million/day.

● # of sessions = 30 Million/Week.

● Size of data crunched for full index = 2TB
Scaling with Map Reduce
●   Calculate 'i' by forming pairs and counting
●   Calculate 'n1' by making P1 as the key
●   Calculate 'n2' by making P2 as the key
●   Took 2 hours on 6 months of data
●   Scales Horizontally

● Previous/Conventional approach
    ○ Hash the pairs to form huge number of small files,
      sort and collate
    ○ Would have taken 20x the time (2 days)
    ○ Not horizontally scalable
Item-Item Recommendations
Personalization
https://www.flipkart.com/recommendations
Personalization explained
● Item-Item Recommendations

● Understand the User's behavior.
    ○   Bought Items
    ○   WishList Items
    ○   Cart Additions
    ○   Rated Products.

 User => Products that are defining the behavior/intentions.

 Products => Recommendations

 Forming Personalized Recommendations,

 User => Recommendations.
Personalization
https://www.flipkart.com/recommendations
Personalized Recommendation
System Architecture
                                                                Recommendation Index: Data Store
                                Map Reduce: Hadoop Farm
      Data Store

                                                                       Redis                 Redis
                                                                      (Master)               (Slave)




   Log Processing
   Engine
                                       Backend
                                    Computation Layer




                                                                         Caching with Lazy




                                                                                                       Memcache Farm
                                    Frontend Service




                                                                              Loads
                          Website       Email             SEM
User Generated Content,
Feedback
                               User Channels: Customers
Are we on right track?
● Metrics
  ○ Click through rates (CTR) :
         ● Relevance/Quality
         ● Visibility
  ○ Click to Orders (Conversion):
         ● Quality
         ● Confidence
  ○ Bounce Rate
  ○ Number of items in an order
  ○ Contribution to overall sale

● A/B Testing
Click Through Ratio(CTR)
Recommendation contribution: # of
Units Purchased
Learnings

● Push changes with AB Testing

● Think about Scalability

● Every user events tells something
Long path ahead
● Incorporate contextual information in CF.
   ○ Differentiating Transient effect Vs Long term pattern
   ○ Dealing with cold starts

● Personalization everywhere
  ○ Understand the Customer, boostrap their profile
  ○ User-Attribute relations that are true across verticals

● Platformization
  ○ Plug in new data sources, pipe in input signals effortlessly
  ○ Plug in multiple algorithms
  ○ Streamlined tracking and feedback collection
Thank You
                 Visit Us
http://flipkart.com/recommendations
               Contact Us
             @flipkart_tech
     Data is the Power!!
Map Reduce Paradigm(Step 1)
B1 -> P1, P2, P3, P4,         Mapper: Key( Pair of items) =>
B2 -> P2, P3, P4, P5,                   Value(weight)
Generating pairs:             Reducer: Accumulates the
                              weights for each Pair.

 Key    Valu   Key     Valu        Reducer O/P   Reducer O/P
         e              e
                                     P1 P2 1       P3 P4 2
P1 P2    1     P2 P3    1
                              =>     P1 P3 1       P3 P5 1
P1 P3    1     P2 P4    1
                                     P1 P4 1       P4 P5 1
P1 P4    1     P2 P5    1
                                     P2 P3 2
P2 P3    1     P3 P4    1
                                     P2 P4 2
P2 P4    1     P3 P5    1
                                     P2 P5 1
P3 P4    1     P4 P5    1
Map Reduce Paradigm(Step 2)
Calculating the value 'n1':
Input:
   P1 P4 1        Mapper: Key ( i1) => Value( Pairs with weights)
   P2 P3 1        Reducer: Accumulates the i1's to form the
   P4 P5 1                 Pairs with weights, n1
   P2 P4 1

     Key      Value                     Reducer Output

     P1      P1 P4 1 1                     P1 P4 1 1

     P2      P2 P3 1 1                     P2 P3 1 2
                            =>
     P4      P4 P5 1 1                     P4 P5 1 1

     P2      P2 P4 1 1                     P2 P4 1 2
Map Reduce Paradigm(Step 3)
Calculating the value 'n2':
Input:
   P1 P4 1        Mapper: Key ( i2) => Value( Pairs with weights)
   P2 P3 1        Reducer: Accumulates the i2's to form the
   P4 P5 1                  Pairs with weights, n2
   P2 P4 1

     Key      Value                  Reducer Output

     P4     P1 P4 1 1 1                P1 P4 1 1 2

     P3     P2 P3 1 1 1                P2 P3 1 2 1
                          =>
     P5     P4 P5 1 1 1                P4 P5 1 1 1

     P4     P2 P4 1 1 1                P2 P4 1 2 2

More Related Content

What's hot

Quora marketing
Quora marketingQuora marketing
Quora marketingRuchika
 
How to REALLY use LinkedIn - mini LinkedIn Presentation
How to REALLY use LinkedIn - mini LinkedIn PresentationHow to REALLY use LinkedIn - mini LinkedIn Presentation
How to REALLY use LinkedIn - mini LinkedIn PresentationBert Verdonck
 
Digital Marketing Portfolio for Liau Yun Qing
Digital Marketing Portfolio for Liau Yun QingDigital Marketing Portfolio for Liau Yun Qing
Digital Marketing Portfolio for Liau Yun QingYun Qing Liau
 
Professional development for strategic managers
Professional development for  strategic managersProfessional development for  strategic managers
Professional development for strategic managersMohyee3liShahin
 
Lead generation stragety ppt
Lead generation stragety pptLead generation stragety ppt
Lead generation stragety pptnehaanandjha
 
Social Media Marketing Strategy for your Business in 2020
Social Media Marketing Strategy for your Business in 2020Social Media Marketing Strategy for your Business in 2020
Social Media Marketing Strategy for your Business in 2020Martin van Vliet
 
Website Design RFP Template
Website Design RFP TemplateWebsite Design RFP Template
Website Design RFP TemplateDemand Metric
 
Developing business promotional strategies and
Developing business promotional strategies andDeveloping business promotional strategies and
Developing business promotional strategies andVIKAS KUMAR
 
How to Prioritize as a PM by Google's Product Manager
How to Prioritize as a PM by Google's Product ManagerHow to Prioritize as a PM by Google's Product Manager
How to Prioritize as a PM by Google's Product ManagerProduct School
 
SEO Services Proposal PowerPoint Presentation Slides
SEO Services Proposal PowerPoint Presentation SlidesSEO Services Proposal PowerPoint Presentation Slides
SEO Services Proposal PowerPoint Presentation SlidesSlideTeam
 
Creative Department Planning
Creative Department PlanningCreative Department Planning
Creative Department PlanningJon Anderson
 
What's Growth PM and How's it Different to PM Types by Dropbox PM
What's Growth PM and How's it Different to PM Types by Dropbox PMWhat's Growth PM and How's it Different to PM Types by Dropbox PM
What's Growth PM and How's it Different to PM Types by Dropbox PMProduct School
 
Sales Playbook Template
Sales Playbook TemplateSales Playbook Template
Sales Playbook TemplateDemand Metric
 
How to Ace the Product Manager Interview by HubSpot PM
How to Ace the Product Manager Interview by HubSpot PMHow to Ace the Product Manager Interview by HubSpot PM
How to Ace the Product Manager Interview by HubSpot PMProduct School
 
Digital Marketing Road Map For an Optical E Commerce Business
Digital Marketing Road Map For an Optical E Commerce BusinessDigital Marketing Road Map For an Optical E Commerce Business
Digital Marketing Road Map For an Optical E Commerce BusinessJishnu Brahma
 
Data-driven digital marketing agency | Adloonix presentation
Data-driven digital marketing agency | Adloonix presentationData-driven digital marketing agency | Adloonix presentation
Data-driven digital marketing agency | Adloonix presentationAdloonix
 
What are Digital Marketing Funnels?
What are Digital Marketing Funnels?What are Digital Marketing Funnels?
What are Digital Marketing Funnels?PPCexpo
 
Introduction to Online Marketplace
Introduction to Online MarketplaceIntroduction to Online Marketplace
Introduction to Online MarketplaceSellOnFlipkart
 
SEO Search Engine Optimization Proposal - Organic SEO Ranks
SEO Search Engine Optimization Proposal - Organic SEO RanksSEO Search Engine Optimization Proposal - Organic SEO Ranks
SEO Search Engine Optimization Proposal - Organic SEO RanksChakra Systems
 
How to get noticed and recognised as a presales, bid and proposal management ...
How to get noticed and recognised as a presales, bid and proposal management ...How to get noticed and recognised as a presales, bid and proposal management ...
How to get noticed and recognised as a presales, bid and proposal management ...Abhijit Majumdar CP.APMP
 

What's hot (20)

Quora marketing
Quora marketingQuora marketing
Quora marketing
 
How to REALLY use LinkedIn - mini LinkedIn Presentation
How to REALLY use LinkedIn - mini LinkedIn PresentationHow to REALLY use LinkedIn - mini LinkedIn Presentation
How to REALLY use LinkedIn - mini LinkedIn Presentation
 
Digital Marketing Portfolio for Liau Yun Qing
Digital Marketing Portfolio for Liau Yun QingDigital Marketing Portfolio for Liau Yun Qing
Digital Marketing Portfolio for Liau Yun Qing
 
Professional development for strategic managers
Professional development for  strategic managersProfessional development for  strategic managers
Professional development for strategic managers
 
Lead generation stragety ppt
Lead generation stragety pptLead generation stragety ppt
Lead generation stragety ppt
 
Social Media Marketing Strategy for your Business in 2020
Social Media Marketing Strategy for your Business in 2020Social Media Marketing Strategy for your Business in 2020
Social Media Marketing Strategy for your Business in 2020
 
Website Design RFP Template
Website Design RFP TemplateWebsite Design RFP Template
Website Design RFP Template
 
Developing business promotional strategies and
Developing business promotional strategies andDeveloping business promotional strategies and
Developing business promotional strategies and
 
How to Prioritize as a PM by Google's Product Manager
How to Prioritize as a PM by Google's Product ManagerHow to Prioritize as a PM by Google's Product Manager
How to Prioritize as a PM by Google's Product Manager
 
SEO Services Proposal PowerPoint Presentation Slides
SEO Services Proposal PowerPoint Presentation SlidesSEO Services Proposal PowerPoint Presentation Slides
SEO Services Proposal PowerPoint Presentation Slides
 
Creative Department Planning
Creative Department PlanningCreative Department Planning
Creative Department Planning
 
What's Growth PM and How's it Different to PM Types by Dropbox PM
What's Growth PM and How's it Different to PM Types by Dropbox PMWhat's Growth PM and How's it Different to PM Types by Dropbox PM
What's Growth PM and How's it Different to PM Types by Dropbox PM
 
Sales Playbook Template
Sales Playbook TemplateSales Playbook Template
Sales Playbook Template
 
How to Ace the Product Manager Interview by HubSpot PM
How to Ace the Product Manager Interview by HubSpot PMHow to Ace the Product Manager Interview by HubSpot PM
How to Ace the Product Manager Interview by HubSpot PM
 
Digital Marketing Road Map For an Optical E Commerce Business
Digital Marketing Road Map For an Optical E Commerce BusinessDigital Marketing Road Map For an Optical E Commerce Business
Digital Marketing Road Map For an Optical E Commerce Business
 
Data-driven digital marketing agency | Adloonix presentation
Data-driven digital marketing agency | Adloonix presentationData-driven digital marketing agency | Adloonix presentation
Data-driven digital marketing agency | Adloonix presentation
 
What are Digital Marketing Funnels?
What are Digital Marketing Funnels?What are Digital Marketing Funnels?
What are Digital Marketing Funnels?
 
Introduction to Online Marketplace
Introduction to Online MarketplaceIntroduction to Online Marketplace
Introduction to Online Marketplace
 
SEO Search Engine Optimization Proposal - Organic SEO Ranks
SEO Search Engine Optimization Proposal - Organic SEO RanksSEO Search Engine Optimization Proposal - Organic SEO Ranks
SEO Search Engine Optimization Proposal - Organic SEO Ranks
 
How to get noticed and recognised as a presales, bid and proposal management ...
How to get noticed and recognised as a presales, bid and proposal management ...How to get noticed and recognised as a presales, bid and proposal management ...
How to get noticed and recognised as a presales, bid and proposal management ...
 

Viewers also liked

Strategic recommendations for flipkart
Strategic recommendations for flipkartStrategic recommendations for flipkart
Strategic recommendations for flipkartPavankumar Wadhonkar
 
Complete marketing analysis of Flipkart.
Complete marketing analysis of Flipkart. Complete marketing analysis of Flipkart.
Complete marketing analysis of Flipkart. Piyush Kapoor
 
Satya prakash_project report on Flipkart
Satya prakash_project report on FlipkartSatya prakash_project report on Flipkart
Satya prakash_project report on FlipkartSatya Prakash Tripathi
 
Study of “Flipkart.com”: India’s Leading E-business Portal
Study of “Flipkart.com”: India’s Leading E-business PortalStudy of “Flipkart.com”: India’s Leading E-business Portal
Study of “Flipkart.com”: India’s Leading E-business PortalSagar Agrawal
 
Flipkart Logistic & Supply chain management
Flipkart Logistic & Supply chain managementFlipkart Logistic & Supply chain management
Flipkart Logistic & Supply chain managementSagar Sawant
 
Building tiered data stores using aesop to bridge sql and no sql systems
Building tiered data stores using aesop to bridge sql and no sql systemsBuilding tiered data stores using aesop to bridge sql and no sql systems
Building tiered data stores using aesop to bridge sql and no sql systemsRegunath B
 
Flipkart company analysis and strategic & tactical recommendations
Flipkart  company analysis and strategic & tactical recommendationsFlipkart  company analysis and strategic & tactical recommendations
Flipkart company analysis and strategic & tactical recommendationsSumit K Jha
 
E commerce data migration in moving systems across data centres
E commerce data migration in moving systems across data centres E commerce data migration in moving systems across data centres
E commerce data migration in moving systems across data centres Regunath B
 
Saunders client feedback and recommendation ppt report 3.23
Saunders client feedback and recommendation ppt report 3.23Saunders client feedback and recommendation ppt report 3.23
Saunders client feedback and recommendation ppt report 3.23Natascha Saunders
 
Mech vii-operation research [06 me74]-notes
Mech vii-operation research [06 me74]-notesMech vii-operation research [06 me74]-notes
Mech vii-operation research [06 me74]-notesMallikarjunaswamy Swamy
 
Recommender Systems
Recommender SystemsRecommender Systems
Recommender SystemsLior Rokach
 
Summary of a Recommender Systems Survey paper
Summary of a Recommender Systems Survey paperSummary of a Recommender Systems Survey paper
Summary of a Recommender Systems Survey paperChangsung Moon
 
genetic algorithm based music recommender system
genetic algorithm based music recommender systemgenetic algorithm based music recommender system
genetic algorithm based music recommender systemneha pevekar
 
Graph Based Recommendation Systems at eBay
Graph Based Recommendation Systems at eBayGraph Based Recommendation Systems at eBay
Graph Based Recommendation Systems at eBayDataStax Academy
 

Viewers also liked (20)

Strategic recommendations for flipkart
Strategic recommendations for flipkartStrategic recommendations for flipkart
Strategic recommendations for flipkart
 
flipkart marketing strategies
flipkart marketing strategiesflipkart marketing strategies
flipkart marketing strategies
 
Flipkart
FlipkartFlipkart
Flipkart
 
Complete marketing analysis of Flipkart.
Complete marketing analysis of Flipkart. Complete marketing analysis of Flipkart.
Complete marketing analysis of Flipkart.
 
Flipkart
FlipkartFlipkart
Flipkart
 
Satya prakash_project report on Flipkart
Satya prakash_project report on FlipkartSatya prakash_project report on Flipkart
Satya prakash_project report on Flipkart
 
Study of “Flipkart.com”: India’s Leading E-business Portal
Study of “Flipkart.com”: India’s Leading E-business PortalStudy of “Flipkart.com”: India’s Leading E-business Portal
Study of “Flipkart.com”: India’s Leading E-business Portal
 
Flipkart Logistic & Supply chain management
Flipkart Logistic & Supply chain managementFlipkart Logistic & Supply chain management
Flipkart Logistic & Supply chain management
 
Building tiered data stores using aesop to bridge sql and no sql systems
Building tiered data stores using aesop to bridge sql and no sql systemsBuilding tiered data stores using aesop to bridge sql and no sql systems
Building tiered data stores using aesop to bridge sql and no sql systems
 
Search@flipkart
Search@flipkartSearch@flipkart
Search@flipkart
 
Flipkart company analysis and strategic & tactical recommendations
Flipkart  company analysis and strategic & tactical recommendationsFlipkart  company analysis and strategic & tactical recommendations
Flipkart company analysis and strategic & tactical recommendations
 
Flipkart
FlipkartFlipkart
Flipkart
 
E commerce data migration in moving systems across data centres
E commerce data migration in moving systems across data centres E commerce data migration in moving systems across data centres
E commerce data migration in moving systems across data centres
 
Saunders client feedback and recommendation ppt report 3.23
Saunders client feedback and recommendation ppt report 3.23Saunders client feedback and recommendation ppt report 3.23
Saunders client feedback and recommendation ppt report 3.23
 
Mech vii-operation research [06 me74]-notes
Mech vii-operation research [06 me74]-notesMech vii-operation research [06 me74]-notes
Mech vii-operation research [06 me74]-notes
 
Recommender Systems
Recommender SystemsRecommender Systems
Recommender Systems
 
Summary of a Recommender Systems Survey paper
Summary of a Recommender Systems Survey paperSummary of a Recommender Systems Survey paper
Summary of a Recommender Systems Survey paper
 
Research Methodology
Research MethodologyResearch Methodology
Research Methodology
 
genetic algorithm based music recommender system
genetic algorithm based music recommender systemgenetic algorithm based music recommender system
genetic algorithm based music recommender system
 
Graph Based Recommendation Systems at eBay
Graph Based Recommendation Systems at eBayGraph Based Recommendation Systems at eBay
Graph Based Recommendation Systems at eBay
 

Similar to Recommendations play @flipkart

Recommendations play @flipkart (3)
Recommendations play @flipkart (3)Recommendations play @flipkart (3)
Recommendations play @flipkart (3)hava101
 
Intelligent Search
Intelligent SearchIntelligent Search
Intelligent SearchTed Dunning
 
Recommender Systems from A to Z – The Right Dataset
Recommender Systems from A to Z – The Right DatasetRecommender Systems from A to Z – The Right Dataset
Recommender Systems from A to Z – The Right DatasetCrossing Minds
 
Hadoop France meetup Feb2016 : recommendations with spark
Hadoop France meetup  Feb2016 : recommendations with sparkHadoop France meetup  Feb2016 : recommendations with spark
Hadoop France meetup Feb2016 : recommendations with sparkModern Data Stack France
 
Functional Programming - Worth the Effort
Functional Programming - Worth the EffortFunctional Programming - Worth the Effort
Functional Programming - Worth the EffortBoldRadius Solutions
 
Teasing talk for Flow-based programming made easy with PyF 2.0
Teasing talk for Flow-based programming made easy with PyF 2.0Teasing talk for Flow-based programming made easy with PyF 2.0
Teasing talk for Flow-based programming made easy with PyF 2.0Jonathan Schemoul
 
Graph processing at scale using spark & graph frames
Graph processing at scale using spark & graph framesGraph processing at scale using spark & graph frames
Graph processing at scale using spark & graph framesRon Barabash
 
Recommender Systems from A to Z – Model Evaluation
Recommender Systems from A to Z – Model EvaluationRecommender Systems from A to Z – Model Evaluation
Recommender Systems from A to Z – Model EvaluationCrossing Minds
 
Cacheconcurrencyconsistency cassandra svcc
Cacheconcurrencyconsistency cassandra svccCacheconcurrencyconsistency cassandra svcc
Cacheconcurrencyconsistency cassandra svccsrisatish ambati
 
[@NaukriEngineering] Apache Spark
[@NaukriEngineering] Apache Spark[@NaukriEngineering] Apache Spark
[@NaukriEngineering] Apache SparkNaukri.com
 
Sketching, Wireframing, Prototyping - How to Be Agile and Avoid Half-Baked Us...
Sketching, Wireframing, Prototyping - How to Be Agile and Avoid Half-Baked Us...Sketching, Wireframing, Prototyping - How to Be Agile and Avoid Half-Baked Us...
Sketching, Wireframing, Prototyping - How to Be Agile and Avoid Half-Baked Us...Philipp Schroeder
 
The magic of (data parallel) distributed systems and where it all breaks - Re...
The magic of (data parallel) distributed systems and where it all breaks - Re...The magic of (data parallel) distributed systems and where it all breaks - Re...
The magic of (data parallel) distributed systems and where it all breaks - Re...Holden Karau
 
Apache Pinot Meetup Sept02, 2020
Apache Pinot Meetup Sept02, 2020Apache Pinot Meetup Sept02, 2020
Apache Pinot Meetup Sept02, 2020Mayank Shrivastava
 
Haystack 2019 - Solving for Satisfaction: Introduction to Click Models - Eliz...
Haystack 2019 - Solving for Satisfaction: Introduction to Click Models - Eliz...Haystack 2019 - Solving for Satisfaction: Introduction to Click Models - Eliz...
Haystack 2019 - Solving for Satisfaction: Introduction to Click Models - Eliz...OpenSource Connections
 
Online advertising and large scale model fitting
Online advertising and large scale model fittingOnline advertising and large scale model fitting
Online advertising and large scale model fittingWush Wu
 
Generative adversarial network_Ayadi_Alaeddine
Generative adversarial network_Ayadi_AlaeddineGenerative adversarial network_Ayadi_Alaeddine
Generative adversarial network_Ayadi_AlaeddineDeep Learning Italia
 
Securerank ping-opendns
Securerank ping-opendnsSecurerank ping-opendns
Securerank ping-opendnsPing Yan
 
Value extraction from BBVA credit card transactions. IVAN DE PRADO at Big Dat...
Value extraction from BBVA credit card transactions. IVAN DE PRADO at Big Dat...Value extraction from BBVA credit card transactions. IVAN DE PRADO at Big Dat...
Value extraction from BBVA credit card transactions. IVAN DE PRADO at Big Dat...Big Data Spain
 
Basic of python for data analysis
Basic of python for data analysisBasic of python for data analysis
Basic of python for data analysisPramod Toraskar
 

Similar to Recommendations play @flipkart (20)

Recommendations play @flipkart (3)
Recommendations play @flipkart (3)Recommendations play @flipkart (3)
Recommendations play @flipkart (3)
 
1000 track2 Bharadwaj
1000 track2 Bharadwaj1000 track2 Bharadwaj
1000 track2 Bharadwaj
 
Intelligent Search
Intelligent SearchIntelligent Search
Intelligent Search
 
Recommender Systems from A to Z – The Right Dataset
Recommender Systems from A to Z – The Right DatasetRecommender Systems from A to Z – The Right Dataset
Recommender Systems from A to Z – The Right Dataset
 
Hadoop France meetup Feb2016 : recommendations with spark
Hadoop France meetup  Feb2016 : recommendations with sparkHadoop France meetup  Feb2016 : recommendations with spark
Hadoop France meetup Feb2016 : recommendations with spark
 
Functional Programming - Worth the Effort
Functional Programming - Worth the EffortFunctional Programming - Worth the Effort
Functional Programming - Worth the Effort
 
Teasing talk for Flow-based programming made easy with PyF 2.0
Teasing talk for Flow-based programming made easy with PyF 2.0Teasing talk for Flow-based programming made easy with PyF 2.0
Teasing talk for Flow-based programming made easy with PyF 2.0
 
Graph processing at scale using spark & graph frames
Graph processing at scale using spark & graph framesGraph processing at scale using spark & graph frames
Graph processing at scale using spark & graph frames
 
Recommender Systems from A to Z – Model Evaluation
Recommender Systems from A to Z – Model EvaluationRecommender Systems from A to Z – Model Evaluation
Recommender Systems from A to Z – Model Evaluation
 
Cacheconcurrencyconsistency cassandra svcc
Cacheconcurrencyconsistency cassandra svccCacheconcurrencyconsistency cassandra svcc
Cacheconcurrencyconsistency cassandra svcc
 
[@NaukriEngineering] Apache Spark
[@NaukriEngineering] Apache Spark[@NaukriEngineering] Apache Spark
[@NaukriEngineering] Apache Spark
 
Sketching, Wireframing, Prototyping - How to Be Agile and Avoid Half-Baked Us...
Sketching, Wireframing, Prototyping - How to Be Agile and Avoid Half-Baked Us...Sketching, Wireframing, Prototyping - How to Be Agile and Avoid Half-Baked Us...
Sketching, Wireframing, Prototyping - How to Be Agile and Avoid Half-Baked Us...
 
The magic of (data parallel) distributed systems and where it all breaks - Re...
The magic of (data parallel) distributed systems and where it all breaks - Re...The magic of (data parallel) distributed systems and where it all breaks - Re...
The magic of (data parallel) distributed systems and where it all breaks - Re...
 
Apache Pinot Meetup Sept02, 2020
Apache Pinot Meetup Sept02, 2020Apache Pinot Meetup Sept02, 2020
Apache Pinot Meetup Sept02, 2020
 
Haystack 2019 - Solving for Satisfaction: Introduction to Click Models - Eliz...
Haystack 2019 - Solving for Satisfaction: Introduction to Click Models - Eliz...Haystack 2019 - Solving for Satisfaction: Introduction to Click Models - Eliz...
Haystack 2019 - Solving for Satisfaction: Introduction to Click Models - Eliz...
 
Online advertising and large scale model fitting
Online advertising and large scale model fittingOnline advertising and large scale model fitting
Online advertising and large scale model fitting
 
Generative adversarial network_Ayadi_Alaeddine
Generative adversarial network_Ayadi_AlaeddineGenerative adversarial network_Ayadi_Alaeddine
Generative adversarial network_Ayadi_Alaeddine
 
Securerank ping-opendns
Securerank ping-opendnsSecurerank ping-opendns
Securerank ping-opendns
 
Value extraction from BBVA credit card transactions. IVAN DE PRADO at Big Dat...
Value extraction from BBVA credit card transactions. IVAN DE PRADO at Big Dat...Value extraction from BBVA credit card transactions. IVAN DE PRADO at Big Dat...
Value extraction from BBVA credit card transactions. IVAN DE PRADO at Big Dat...
 
Basic of python for data analysis
Basic of python for data analysisBasic of python for data analysis
Basic of python for data analysis
 

Recently uploaded

Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 

Recently uploaded (20)

Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 

Recommendations play @flipkart

  • 2. Recommendation Systems aim to predict the user’s intent and help connect them to products they need or may be interested in, in an automated fashion
  • 5. Why Recommendation Important? Product discovery is an important step in users interaction with an ecommerce website and recommendation systems play a very useful part in the discovery This becomes ever so important with increasing size of the catalog, making it harder for every user to express their intent through well formed queries
  • 6. Recommendation Types ● Help Find: other similar products smartphones when on samsung galaxy sIII, other budget phones when at nokia 101 ● Help Decide People who viewed this ended up buying ● Complete the purchase experience memory card for mobiles, cases for camera ● Excite or wow New Chetan Bhagat Novel, Printer ink after 6 months
  • 7. Recommendation System = Data + Algorithms
  • 8. Data for Recommendations ● Users interactions on the website ● Anything which reflects his/her interest on the items (browse, order, compare, review, etc) ● Any data that is applicable to all users of the website
  • 9. Algorithms for Recommendations ● Collaborative Filtering ○ Item to Item ○ User to User ● Content Based Filtering ○ Meta data - music genres, brands, authors ○ Titles - books on java, accessories for nikon D90
  • 10. Users Items User to User 1 ● For user u, find the set A of users S(u) that have 2 similar preference as u B ● Recommend popular 3 items among users in S (u) to user u. C 4 D 5
  • 11. Item to Item Users Items ● For item i, find the set of 1 items S(i) that are touched together A 2 ● For every user u, find set of items N(u) they B have browsed/bought 3 before C ● For every item x in N(u) 4 add S(x) to the recommendation set D 5 ● Sort and show the recommendation set
  • 12. Users Latent Nodes Items 1 A budget cameras 2 B canon 3 C classical music 4 D 5
  • 13. Deeper Dive Item Item Collaborative Filtering
  • 14. Collaborative Filtering ● Filtering for patterns using collaboration among multiple entities: agents, viewpoints, data sources, etc ● Automates the process of "word of mouth"
  • 15. Data Modeling ● Bought History. ○ Items bought together in the same transaction. ○ Items bought by the User. ● Browse History ○ Items browsed together successively with in 5 mins. ● Compare History ● 30 secs music sample etc..
  • 16. Algorithm B1 -> P1, P2 , P3, P4 B2 -> P2, P3, P4 B3 -> P1, P2, P4 Item/ Item P1 P2 P3 P4 P1 - 2 1 2 Recommendation P2 - 2 3 P1 -> P2, P4, P3 P3 - 2 P2 -> P4, P1,P3 P4 - P3 -> P2, P4, P1 P4 -> P2, P1, P2
  • 17. Recommendation Score Recommendation Score between the Products. P1, P2 is P1 Intersection count = 150 P1, P3 100,000 Intersection count = 200 1200 Visits. After removing the popularity skew, P1, P2 is 1000 Visits P2 Score = 150 / 1000 = 0.15 P3 P1, P3 is Score = 200 / 100000 = 0.002
  • 18. Formula: Recommendation Score = ( i * i ) / ( n1 * n2). Where, i = count of occurrences of items i1, i2 together. n1 = # of occurrences of the item i1 alone. n2 = # of occurrences of the item i2 alone.
  • 19. Computations Scale ● # of Product Page visits = 6 Million/day. ● # of sessions = 30 Million/Week. ● Size of data crunched for full index = 2TB
  • 20. Scaling with Map Reduce ● Calculate 'i' by forming pairs and counting ● Calculate 'n1' by making P1 as the key ● Calculate 'n2' by making P2 as the key ● Took 2 hours on 6 months of data ● Scales Horizontally ● Previous/Conventional approach ○ Hash the pairs to form huge number of small files, sort and collate ○ Would have taken 20x the time (2 days) ○ Not horizontally scalable
  • 23. Personalization explained ● Item-Item Recommendations ● Understand the User's behavior. ○ Bought Items ○ WishList Items ○ Cart Additions ○ Rated Products. User => Products that are defining the behavior/intentions. Products => Recommendations Forming Personalized Recommendations, User => Recommendations.
  • 26. System Architecture Recommendation Index: Data Store Map Reduce: Hadoop Farm Data Store Redis Redis (Master) (Slave) Log Processing Engine Backend Computation Layer Caching with Lazy Memcache Farm Frontend Service Loads Website Email SEM User Generated Content, Feedback User Channels: Customers
  • 27. Are we on right track? ● Metrics ○ Click through rates (CTR) : ● Relevance/Quality ● Visibility ○ Click to Orders (Conversion): ● Quality ● Confidence ○ Bounce Rate ○ Number of items in an order ○ Contribution to overall sale ● A/B Testing
  • 29. Recommendation contribution: # of Units Purchased
  • 30. Learnings ● Push changes with AB Testing ● Think about Scalability ● Every user events tells something
  • 31. Long path ahead ● Incorporate contextual information in CF. ○ Differentiating Transient effect Vs Long term pattern ○ Dealing with cold starts ● Personalization everywhere ○ Understand the Customer, boostrap their profile ○ User-Attribute relations that are true across verticals ● Platformization ○ Plug in new data sources, pipe in input signals effortlessly ○ Plug in multiple algorithms ○ Streamlined tracking and feedback collection
  • 32. Thank You Visit Us http://flipkart.com/recommendations Contact Us @flipkart_tech Data is the Power!!
  • 33. Map Reduce Paradigm(Step 1) B1 -> P1, P2, P3, P4, Mapper: Key( Pair of items) => B2 -> P2, P3, P4, P5, Value(weight) Generating pairs: Reducer: Accumulates the weights for each Pair. Key Valu Key Valu Reducer O/P Reducer O/P e e P1 P2 1 P3 P4 2 P1 P2 1 P2 P3 1 => P1 P3 1 P3 P5 1 P1 P3 1 P2 P4 1 P1 P4 1 P4 P5 1 P1 P4 1 P2 P5 1 P2 P3 2 P2 P3 1 P3 P4 1 P2 P4 2 P2 P4 1 P3 P5 1 P2 P5 1 P3 P4 1 P4 P5 1
  • 34. Map Reduce Paradigm(Step 2) Calculating the value 'n1': Input: P1 P4 1 Mapper: Key ( i1) => Value( Pairs with weights) P2 P3 1 Reducer: Accumulates the i1's to form the P4 P5 1 Pairs with weights, n1 P2 P4 1 Key Value Reducer Output P1 P1 P4 1 1 P1 P4 1 1 P2 P2 P3 1 1 P2 P3 1 2 => P4 P4 P5 1 1 P4 P5 1 1 P2 P2 P4 1 1 P2 P4 1 2
  • 35. Map Reduce Paradigm(Step 3) Calculating the value 'n2': Input: P1 P4 1 Mapper: Key ( i2) => Value( Pairs with weights) P2 P3 1 Reducer: Accumulates the i2's to form the P4 P5 1 Pairs with weights, n2 P2 P4 1 Key Value Reducer Output P4 P1 P4 1 1 1 P1 P4 1 1 2 P3 P2 P3 1 1 1 P2 P3 1 2 1 => P5 P4 P5 1 1 1 P4 P5 1 1 1 P4 P2 P4 1 1 1 P2 P4 1 2 2