Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Berlin - Building an Online-Recommendation Engine with MongoDB

Mario, a famous munich pizza baker, has an online shop based on MongoDB. Marios current goal is to increase his cross- and up selling rate. He hired a statistician and built an online recommendation engine with MongoDB.
by

Daniel Bartl

on 14 November 2013

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Berlin - Building an Online-Recommendation Engine with MongoDB

Application Server
Web-Server
Service-Layer
Respository-Layer
Presentation-Layer
Apache project based on Hadoop
provides open source implementation of scalable machine learning algorithms
recommendations using collaborative filtering
similar
Thank you for your attention!
Questions?

Building an Online-Recommendation Engine with MongoDB
All characters that appeared in this talk are fictional. Any resemblance to real persons or companies is purely coincidental.
http://careers.comsysto.com
MongoDB Berlin 2013
26.02.2013
Mongos
Idea
Build
cindy.lamm@comSysto.com /@almightyData
bernd.zuther@comSysto.com / @Bernd_Z
Code
Measure
Data
Learn
recommendations with MongoDB: pre-aggregation
similar
buy
buy
recommend
recommend
User-Based Recommendation
Item-Based Recommendation
buy
# buys
# buys
5
10
5
10
Euclidean
Cosine
Similarity Measures
15
Tanimoto =
# {intersection}
# {union}
Log-Likelihood = *complicated math*
Evaluating Recommenders' Precision
predicted
difference
+1
0
actual
deviance
score
base for prediction
Simulation Result
Demo
Why MongoDB ???
Average Impact of One Second Delay in Response Time
http://www.gomez.com/pdfs/wp_why_web_performance_matters.pdf
website performance
recommendation quality
recommendation conversion
Website Performance - Response Time Graph
fast database
designed for high load scenarios
very close to the java object model
well supported by frameworks, e.g. Spring-Data
Recommendation Quality
Login
Home Page
Catalog Page
Detail Page
Checkout Page
many recommendation and evaluation algorithms are well implemented
real-time computation of recommendations
data models for several databases, e.g. MongoDB, Cassandra, ProgreSQL
Datamodel is not generic
1.000 ms
500 ms


200 Users / Ramp-Up 100s
Response Time
Test Runtime
1.000 ms
500 ms
Response Time
Test Runtime
1.000 ms
500 ms
Response Time
Test Runtime
Why Mahout ???
{
_id

created_at

user_id

item_id

preference
}
: ObjectId(
"..."
),

: ISODate(
"..."
),

: ObjectId(
"..."
),

: ObjectId(
"..."
),

: 7
User-item preferences
comSysto
Application Server
Web-Server
Service-Layer
Respository-Layer
Presentation-Layer
Mongos
Architecture
{
_id

created_at

user_id

item_id

preference
}
: ObjectId(
"..."
),

: ISODate(
"..."
),

: ObjectId(
"..."
),

: ObjectId(
"..."
),

: 7
10

45

7
map to long values
User-item preferences
map back to ObjectId
recommend
item_id : 60
Shop Architecture
Mario's Online Shop
Recommendation Conversion
Recommendation Quality
conversion =
#purchases
#views
Showcase
Mahout classes
purchases
clicks
views
# buys
# buys
5
10
5
10
Euclidean
Cosine
Similarity Measures
15
Tanimoto =
# {intersection}
# {union}
Log-Likelihood = *complicated math*
Full transcript