Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Metro's Newsfeed Algorithm

elgrom
May 14, 2014

Metro's Newsfeed Algorithm

How Metro built an algorithmically driven Homepage.

elgrom

May 14, 2014
Tweet

More Decks by elgrom

Other Decks in Business

Transcript

  1. ! Metro is a very lean operation ! 6 developers ! 20 content

    producers ! 24/7 mindset ! Constant experimentation ! Trending -> Timeline -> Newsfeed Why algorithms?
  2. Views + ((Tweets + Facebook Interactions) * 50) = Score

    ! Calculated every 30 minutes ! Rate of change = constantly changing Current Score – Previous Score = Trending Initial calculations
  3. ! Removed swipe ! Trialled at the bottom of the homepage ! Then

    rolled out to the bottom of every page ! Native Content ! Native Display Units Timeline “A stream of news”
  4. ! Time based stream ! Picture size based on currently popularity ! Native

    content clearly marked ! Native display units for CPA and CPM based advertising ! Consistency across all platforms Timeline Design
  5. (Views + ((Social Interactions) * 10)) * Time Since Publish

    Coefficient ! Highest clicks on the top of every stream ! Popular content at the top of each stream ! Gives fresh content a chance ! Penalises popular content after a period ! Four hours about the half life of a story Newsfeed “Algorithmic stream of news”
  6. Stream based iterations / DAU 0 0.05 0.1 0.15 0.2

    0.25 0.3 0.35 0.4 0.45 Timeline New Style Newsfeed Infinite Scrolls/DAU Clicks/DAU
  7. ! Based on actions per daily active user (DAU) ! Timeline ->

    Newsfeed clicks increased 9% ! Allowed us to take over the homepage ! Content density A/B test increased clicks 20% ! Infinite scroll increased clicks 20% ! Native Display -> 10x click through vs sidebar MPU ! Native content traffic drivers on every page NewsFeed Statistics
  8. ! Content volume is key to ensure freshness ! Cut the data

    at the highest level for cache-ability ! Speed of lazy load essential ! Publishing times can affect clustering ! MySQL is simple but limited ! Common understanding helps iterating Lessons learned
  9. ! Cache the first page of it using wpcom_vip_file_get_contents ! Copy the

    public API format to be able to change between sources quickly ! Large options allows you to store data in it ! Post meta can also store information ! CHEEZETEST is great but can add complication 15 WordPress Lessons
  10. ! Just top 10 stories on the site at any time

    ! Gives you more of what you read most ! 600 installs, 120 DAUs, 2 sessions a day, 13 screens/session ! Wouldn't have been possible without the API Metro10 – Android App