The plista Contest is an ongoing search for the best performing live recommender algorithm. The company's network outputs 2.5 billion pieces of feedback information about user behavior per month. That is a lot of data that needs to be processed, and an endless opportunity for developers of algorithms. This workshop offers a peek behind the contest technology, which uses Enterprise Service Bus (ESB) and Software-as-a-Service (SaaS) technology. Developers will be faced to streaming algorithms to handle realtime data. This also covers data denormalization and live evaluation of the team recommenders and of course, questions on data privacy will also be a topic.
2. What is plista
● Recommendation
● Advertising
● Network
● Many big publishers in DE, AT, CH, ...
● "Other articles you might be interested..."
● 6 billion impressions, clicks, engages, ... pM
● Lots of Data
Torben Brodt, plista Contest, 2012/09/13
5. ???
Tracking Success
● each time a recommender is chosen, plista
will track its success.. for context and many
context combinations
Torben Brodt, plista Contest, 2012/09/13
7. Architecture
● every recommend() includes context data
○ data denomalization, easier for development
● API (HTTP + JSON)
○ Communication and Failover is handled
○ Just try and error, plista won't break, return items are
validated
● Anonomyization
○ its just plista cookies
○ no registered users
○ you cannot overtake a profile
○ Click Manipulation detection
Torben Brodt, plista Contest, 2012/09/13
8. What is the plista Contest
● we open the data, you provide the
knowledge
● develop a recommender which implements
the http api
● plista will track the success, if you are smart,
be the winner for the the best recommender
● best is live, best is scalable and best will
work in industry - different to some other
contests
● prices? weekly €250, grand price will be
announced later
Torben Brodt, plista Contest, 2012/09/13
9. How to start (1/3)
register at
contest.plista.com
Torben Brodt, plista Contest, 2012/09/13
10. How to start (2/3)
● start implementation in php, java, nodejs, ...
Torben Brodt, plista Contest, 2012/09/13
11. How to start (3/3)
● need old data? start replay from
webinterface
● try sending debug events from webinterface
● wait for team activation
● plista starts sending you real data
● your responses are display on real
publishers
● Limitations?
● answer recommendations within x ms
Torben Brodt, plista Contest, 2012/09/13
12. Food for your recommender
● recommend() request and "feedbacks"
● both will include context
○ currently: userid, itemid and item data (title, text,
img, url)
○ More "context" will follow, promised!
● run optimization on context, there are so
many possibilities, recsys gave lots of ideas
● any context missing? just ask
● for plista recommender we have about 50
context parameters enabled
● userid zero = users without cookie
Torben Brodt, plista Contest, 2012/09/13
13. Your recommender = our wishlist ;)
● please academia.. no more movie
recommenders ;)
● concentrate on implicit feedback
● think streaming / incremental
○ better to scale
○ faster results, new articles are better than old
articles?
● think about cross domain
○ contest is not allowed to mix items from different
domains/publishers
○ want knowledge of the full data, but candidate items
of a slice
Torben Brodt, plista Contest, 2012/09/13
14. Evaluation
● CTR (Click Through Rate)
○ all teams have the chance to reply to the same
number of impressions, so clicks decide!
● this handles invalid responses, offtimes, etc
For academia *Idea for Future*
● from feedback at recsys, there is demand for
duration of stay, business perspectives
(cpm), turning user into new customer, ...
● good recommenders might get more traffic,
so how to handle different number of
impressions (in different context)
Torben Brodt, plista Contest, 2012/09/13