Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

100
© 2013 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified, or distributed in whole or in part without the express consent of Amazon.com, Inc. Andre Fatala & Renato Pedigoni November 14, 2013 Using AWS to Build a Graph-based Product Recommendation System Friday, November 15, 13

description

Magazine Luiza, one of the largest retail chains in Brazil, developed an in-house product recommendation system, built on top of a large knowledge Graph. AWS resources like Amazon EC2, Amazon SQS, Amazon ElastiCache and others made it possible for them to scale from a very small dataset to a huge Cassandra cluster. By improving their big data processing algorithms on their in-house solution built on AWS, they improved their conversion rates on revenue by more than 25 percent compared to market solutions they had used in the past.

Transcript of Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Page 1: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

© 2013 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified, or distributed in whole or in part without the express consent of Amazon.com, Inc.

Andre Fatala & Renato Pedigoni

November 14, 2013

Using AWS to Build a Graph-based Product Recommendation System

Friday, November 15, 13

Page 2: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

About Magazine LuizaAbout Magazine Luiza

Magazine Luiza is one of the largest household appliance retail chains in Brazil. Focused on providing durable goods for Brazil's middle and lower-to-middle income classes.

• 731 stores• 8 distribution centers• more than 23.000 workers• 22.8 million customers• multi-channel strategy

Friday, November 15, 13

Page 3: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Friday, November 15, 13

Page 4: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Recommendation systems

Friday, November 15, 13

Page 5: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Recommendation systems

Friday, November 15, 13

Page 6: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Graphs

Friday, November 15, 13

Page 7: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Graph Stack

Distributed Graph Database Distributed database management system

Friday, November 15, 13

Page 8: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Graph Stack

• Used for OLTP queries

Distributed Graph Database Distributed database management system

Friday, November 15, 13

Page 9: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Graph Stack

• Used for OLTP queries• Native integration with Tinkerpop

Distributed Graph Database Distributed database management system

Friday, November 15, 13

Page 10: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Graph Stack

• Continuously available with no single point of failure• Used for OLTP queries• Native integration with Tinkerpop

Distributed Graph Database Distributed database management system

Friday, November 15, 13

Page 11: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Graph Stack

• Continuously available with no single point of failure• Elastic scalability

• Used for OLTP queries• Native integration with Tinkerpop

Distributed Graph Database Distributed database management system

Friday, November 15, 13

Page 12: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Graph Stack

• Continuously available with no single point of failure• Elastic scalability• Caching layer

• Used for OLTP queries• Native integration with Tinkerpop

Distributed Graph Database Distributed database management system

Friday, November 15, 13

Page 13: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Graph Stack

• Continuously available with no single point of failure• Elastic scalability• Caching layer• Built-in replication

• Used for OLTP queries• Native integration with Tinkerpop

Distributed Graph Database Distributed database management system

Friday, November 15, 13

Page 14: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Storing users data

Cassandra cluster

m2.xlarge m2.xlarge

m2.xlarge m2.xlarge

ElasticLoad Balancing

EC2instance

EC2instance

m2.xlarge m2.xlargeAuto Scaling

API instances

Friday, November 15, 13

Page 15: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Storing users data

Cassandra cluster

m2.xlarge m2.xlarge

m2.xlarge m2.xlarge

ElasticLoad Balancing

EC2instance

EC2instance

m2.xlarge m2.xlargeAuto Scaling

API instances

Friday, November 15, 13

Page 16: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

In graph words…

person

Friday, November 15, 13

Page 17: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

In graph words…

person session

Friday, November 15, 13

Page 18: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

In graph words…

person sessioncreated

Friday, November 15, 13

Page 19: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

In graph words…

person

channel

sessioncreated

Friday, November 15, 13

Page 20: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

In graph words…

person

channel

sessioncreated

visited

Friday, November 15, 13

Page 21: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

In graph words…

person

channel

session

item

created

visited

Friday, November 15, 13

Page 22: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

In graph words…

person

channel

session

item

created

visited

viewed

Friday, November 15, 13

Page 23: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

In graph words…

person

channel

session

item

created

visited

viewed +1

Friday, November 15, 13

Page 24: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

In graph words…

person

channel

session

item

created

visited

+1add_to_cart

Friday, November 15, 13

Page 25: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

In graph words…

person

channel

session

item

created

visited

+1add_to_cart +13

Friday, November 15, 13

Page 26: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

In graph words…

person

channel

session

item

created

visited

+1+13bought

Friday, November 15, 13

Page 27: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

In graph words…

person

channel

session

item

created

visited

+1+13bought +21

Friday, November 15, 13

Page 28: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Friday, November 15, 13

Page 29: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Friday, November 15, 13

Page 30: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Base recommendations

Who viewed this item also viewed

Friday, November 15, 13

Page 31: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Base recommendations

Who viewed this item also viewed

Friday, November 15, 13

Page 32: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Base recommendations

Who bought this item also bought

Friday, November 15, 13

Page 33: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Base recommendations

Bought after viewing this item

Friday, November 15, 13

Page 34: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Base recommendations

Upselling

Friday, November 15, 13

Page 35: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

How to query the graph for recs?

Friday, November 15, 13

Page 36: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

How to query the graph for recs?

Friday, November 15, 13

Page 37: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Gremlin Graph Language

Friday, November 15, 13

Page 38: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Gremlin Graph Language

• Groovy DSL for graph traversals

Friday, November 15, 13

Page 39: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Gremlin Graph Language

• Groovy DSL for graph traversals• Easy to learn

Friday, November 15, 13

Page 40: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Gremlin Graph Language

• Groovy DSL for graph traversals• Easy to learn• Great community

Friday, November 15, 13

Page 41: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Gremlin Graph Language

• Groovy DSL for graph traversals• Easy to learn• Great community• Part of the Tinkerpop stack

Friday, November 15, 13

Page 42: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Gremlin Graph Language

• Groovy DSL for graph traversals• Easy to learn• Great community• Part of the Tinkerpop stack• Works with any Blueprints enabled graph database

Friday, November 15, 13

Page 43: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

People who viewed a product

LED TV 42"

Renato

Fatala

LED TV 40"

LCD TV 42"

LED50"

viewed

viewed

viewed

viewed

viewed

viewed

Friday, November 15, 13

Page 44: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

g.v(4).in(‘viewed’)People who viewed a product

LED TV 42"

Renato

Fatala

LED TV 40"

LCD TV 42"

LED50"

viewed

viewed

viewed

viewed

viewed

viewed

Friday, November 15, 13

Page 45: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

g.v(4).in(‘viewed’)People who viewed a product

LED TV 42"

Renato

Fatala

LED TV 40"

LCD TV 42"

LED50"

viewed

viewed

viewed

viewed

viewed

viewed

Friday, November 15, 13

Page 46: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

g.v(4).in(‘viewed’)People who viewed a product

LED TV 42"

Renato

Fatala

LED TV 40"

LCD TV 42"

LED50"

viewed

viewed

viewed

viewed

viewed

viewed

Friday, November 15, 13

Page 47: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

g.v(4).in(‘viewed’)People who viewed a product

LED TV 42"

Renato

Fatala

LED TV 40"

LCD TV 42"

LED50"

viewed

viewed

viewed

viewed

viewed

viewed

Friday, November 15, 13

Page 48: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Who viewed this product also viewed

LED TV 42"

Renato

Fatala

LED TV 40"

LCD TV 42"

LED50"

viewed

viewed

viewed

viewed

viewed

viewed

Friday, November 15, 13

Page 49: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Who viewed this product also viewed

g.v(4).in(‘viewed’).out(‘viewed’)

LED TV 42"

Renato

Fatala

LED TV 40"

LCD TV 42"

LED50"

viewed

viewed

viewed

viewed

viewed

viewed

Friday, November 15, 13

Page 50: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Who viewed this product also viewed

g.v(4).in(‘viewed’).out(‘viewed’)

LED TV 42"

Renato

Fatala

LED TV 40"

LCD TV 42"

LED50"

viewed

viewed

viewed

viewed

viewed

viewed

Friday, November 15, 13

Page 51: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Who viewed this product also viewed

g.v(4).in(‘viewed’).out(‘viewed’)

LED TV 42"

Renato

Fatala

LED TV 40"

LCD TV 42"

LED50"

viewed

viewed

viewed

viewed

viewed

viewed

Friday, November 15, 13

Page 52: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Who viewed this product also viewed

g.v(4).in(‘viewed’).out(‘viewed’)

LED TV 42"

Renato

Fatala

LED TV 40"

LCD TV 42"

LED50"

viewed

viewed

viewed

viewed

viewed

viewed

Friday, November 15, 13

Page 53: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Processing data with Spot Instances

Friday, November 15, 13

Page 54: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Bob

Simple Queue Service(Amazon SQS)

dispatch a task to Amazon SQS

containing the product id

Processing data with Spot Instances

Friday, November 15, 13

Page 55: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

EC2instance

m1.large

EC2instance

m1.large

EC2instance

m1.large

Spot instances

Bob

Simple Queue Service(Amazon SQS)

consume Amazon SQS tasks

dispatch a task to Amazon SQS

containing the product id

process W*A*recommendations

Processing data with Spot Instances

Friday, November 15, 13

Page 56: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Simple Storage Service (Amazon S3)

EC2instance

m1.large

EC2instance

m1.large

EC2instance

m1.large

Spot instances

Bob

Simple Queue Service(Amazon SQS)

consume Amazon SQS tasks

dispatch a task to Amazon SQS

containing the product id

process W*A*recommendations

sync logs

sync logs

Processing data with Spot Instances

Friday, November 15, 13

Page 57: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Personalized e-mails

Abandoned cart Price dropped

Friday, November 15, 13

Page 58: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Personalized e-mailsUsers receive e-mails when:

Friday, November 15, 13

Page 59: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Personalized e-mails

• A product has a price drop

Users receive e-mails when:

Friday, November 15, 13

Page 60: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Personalized e-mails

• A product has a price drop• Abandoned a product on cart

Users receive e-mails when:

Friday, November 15, 13

Page 61: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Personalized e-mails

• A product has a price drop• Abandoned a product on cart• Visits many similar products

Users receive e-mails when:

Friday, November 15, 13

Page 62: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Personalized e-mails

Bob

Bob API

Friday, November 15, 13

Page 63: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Personalized e-mails

Bob

Bob API

notifies an

user interactionMailer

Manager

m1.largeSimple Queue Service

(Amazon SQS)

dispatch a task to Amazon SQS

containing the customer id

Bobby Mailer

Friday, November 15, 13

Page 64: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Personalized e-mails

EC2instance

m1.large

EC2instance

m1.large

EC2instance

m1.large

Spot instances

Bob

Bob API

notifies an

user interactionMailer

Manager

m1.largeSimple Queue Service

(Amazon SQS)

consume Amazon SQS tasks

dispatch a task to Amazon SQS

containing the customer id

find the best recommendationfor that user

Bobby Mailer

Friday, November 15, 13

Page 65: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Personalized e-mails

Simple EmailService (Amazon SES)

EC2instance

m1.large

EC2instance

m1.large

EC2instance

m1.large

Spot instances

Bob

Bob API

notifies an

user interactionMailer

Manager

m1.largeSimple Queue Service

(Amazon SQS)

consume Amazon SQS tasks

dispatch a task to Amazon SQS

containing the customer id

find the best recommendationfor that user

Bobby Mailer

send the e-mail

Friday, November 15, 13

Page 66: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Personalized e-mails

Simple Storage Service (Amazon S3)

Simple EmailService (Amazon SES)

EC2instance

m1.large

EC2instance

m1.large

EC2instance

m1.large

Spot instances

Bob

Bob API

notifies an

user interactionMailer

Manager

m1.largeSimple Queue Service

(Amazon SQS)

consume Amazon SQS tasks

dispatch a task to Amazon SQS

containing the customer id

find the best recommendationfor that user

Bobby Mailer

send the e-mail

sync logs

sync logs

Friday, November 15, 13

Page 67: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Analytics with Faunus

Graph Analytics Engine Distributed computing

Amazon EMR

Friday, November 15, 13

Page 68: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Analytics with Faunus

Graph Analytics Engine Distributed computing• Provides graphs input/output formats

Amazon EMR

Friday, November 15, 13

Page 69: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Analytics with Faunus

Graph Analytics Engine Distributed computing• Provides graphs input/output formats and traversal language for graphs

Amazon EMR

Friday, November 15, 13

Page 70: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Analytics with Faunus

Graph Analytics Engine Distributed computing• Distributed processing of large data sets across clusters• Provides graphs input/output formats

and traversal language for graphs

Amazon EMR

Friday, November 15, 13

Page 71: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Analytics with Faunus

Graph Analytics Engine Distributed computing• Distributed processing of large data sets across clusters• Designed to scale

• Provides graphs input/output formats and traversal language for graphs

Amazon EMR

Friday, November 15, 13

Page 72: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Analytics with Faunus

Graph Analytics Engine Distributed computing• Distributed processing of large data sets across clusters• Designed to scale• Detect and handle failures at application layer

• Provides graphs input/output formats and traversal language for graphs

Amazon EMR

Friday, November 15, 13

Page 73: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Analytics in Graphs with AWS

Friday, November 15, 13

Page 74: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Analytics in Graphs with AWS

> g.V.has(‘element_type’, ‘person’).age.mean()34.683232

Friday, November 15, 13

Page 75: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Analytics in Graphs with AWS

> g.V.has(‘element_type’, ‘person’).age.mean()34.683232

Friday, November 15, 13

Page 76: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Analytics in Graphs with AWS

> g.V.has(‘element_type’, ‘person’).age.mean()34.683232

Amazon EMR

Friday, November 15, 13

Page 77: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Backup process

nodetool script Amazon S3

Friday, November 15, 13

Page 78: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Backup process

nodetool script Amazon S3

Friday, November 15, 13

Page 79: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Backup process

nodetool script Amazon S3

Friday, November 15, 13

Page 80: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

AmazonRoute 53

InternetGateway

ElasticLoad Balancing

EC2instance

EC2instance

m2.xlarge m2.xlargeAuto Scaling

API instances

Cassandra cluster

Backups

AmazonS3

Logs

AmazonS3

CACHE

AmazonElastiCache

Amazon EMR

m2.xlarge m2.xlarge

m2.xlarge m2.xlarge

Queue Queue Queue

Amazon SQS

EC2instance

m2.xlarge

EC2instance

m2.xlarge

Spot instances

Simple EmailService (Amazon SES)

Infrastructure

Auto Scaling

Friday, November 15, 13

Page 81: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Metrics

Friday, November 15, 13

Page 82: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Metrics

• 4.3 million Magazine Luiza identified customers

Friday, November 15, 13

Page 83: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Metrics

• 4.3 million Magazine Luiza identified customers• 50,000 nodes “products”

Friday, November 15, 13

Page 84: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Metrics

• 4.3 million Magazine Luiza identified customers• 50,000 nodes “products”• 90 million total nodes

Friday, November 15, 13

Page 85: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Metrics

• 4.3 million Magazine Luiza identified customers• 50,000 nodes “products”• 90 million total nodes• 350 million total edges

Friday, November 15, 13

Page 86: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Metrics

• 4.3 million Magazine Luiza identified customers• 50,000 nodes “products”• 90 million total nodes• 350 million total edges• 700 GB of data

Friday, November 15, 13

Page 87: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Metrics

• 4.3 million Magazine Luiza identified customers• 50,000 nodes “products”• 90 million total nodes• 350 million total edges• 700 GB of data• Peaks with 20,000 reads/sec - Cassandra Cluster

Friday, November 15, 13

Page 88: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Results matter…

10x faster 60%

Friday, November 15, 13

Page 89: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Results matter…

January 2013 March 2013 May 2013 July 2013 September 2013

Friday, November 15, 13

Page 90: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Results matter…

Solution A alone

January 2013 March 2013 May 2013 July 2013 September 2013

Friday, November 15, 13

Page 91: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Results matter…

First Bob testsSolution A alone

January 2013 March 2013 May 2013 July 2013 September 2013

Friday, November 15, 13

Page 92: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Results matter…

First Bob tests

Bob out for 2 weeks

Solution A alone

January 2013 March 2013 May 2013 July 2013 September 2013

Friday, November 15, 13

Page 93: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Results matter…

First Bob tests

Bob out for 2 weeks Bob alone

Solution A alone

January 2013 March 2013 May 2013 July 2013 September 2013

Friday, November 15, 13

Page 94: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Results matter…

First Bob tests

Bob alone

January 2013 March 2013 May 2013 July 2013 September 2013

Friday, November 15, 13

Page 95: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Results matter…

First Bob tests

Bob alone

190%

January 2013 March 2013 May 2013 July 2013 September 2013

Friday, November 15, 13

Page 96: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Next steps

Friday, November 15, 13

Page 97: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Next steps

• Use Faunus to pre-process all W*A* recommendations

Friday, November 15, 13

Page 98: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Next steps

• Use Faunus to pre-process all W*A* recommendations• Algorithms to identify communities in graph

Friday, November 15, 13

Page 99: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Next steps

• Use Faunus to pre-process all W*A* recommendations• Algorithms to identify communities in graph• Cassandra replication between regions

Friday, November 15, 13

Page 100: Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS re:Invent 2013

Please give us your feedback on this presentation

As a thank you, we will select prize winners daily for completed surveys!

BDT303 Thank You

Friday, November 15, 13