Hello again Episodians,
What a crazy few days it’s been! As of 4pm PT yesterday afternoon we rolled back the changes to the trending section, returning to our previous frequency of running the rankings update every 4 hours. Note that it may take up to 48 hours for the trending section and your rankings to level out, and we appreciate your patience as we also continue to monitor the results on our end.
While this was going on, many of you asked to know more about how the rankings work so here is the general philosophy behind the algorithm. As a reminder the trending section is a reflection of the stories that readers in the app are spending their time in.
- A story’s ranking should reflect the volume of reads its achieved. Every completed read of a chapter counts towards your story’s rank, and you only start to accumulate reads once you publish your story.
With our latest update, returning the rankings update window from 24 hours down to 4 hours means that we’re calculating rankings based on the amount of reads your stories have accumulated within the last 4 hours (instead of within the last 24 hours).
In general, shorter update windows allow “hot” stories to more quickly climb to the top of the ranks in a short period of time, and favor virality; on the other hand, longer windows allow “consistent” stories that tend to get the same amount of reads over a long period of time to rise to the top.
- A story’s ranking should primarily reflect current reader behavior. A read that you get now should be more valuable than a read that you got, say, 6 months ago, in order for the trending section to actually highlight trending stories.
The faster that we reduce the value of a read over time, the more even the playing field for brand new stories; the slower, the more of an advantage existing stories have.
As an example, let’s consider a case between 2 stories:
Story A has been live for 6 months, and has accumulated 10,000 reads in that time.
Story B has just been published, and is starting with 0 reads.
If we never made the initial 10,000 reads less valuable over time, then Story B is actually starting at a 10,000-read deficit compared to Story A – meaning that if both stories were to get 100 reads in the next 4 hours, Story A would be placed much higher in the rankings than Story B even though they are equally popular amongst readers in that time.
To avoid the history bias, rankings are weighed more heavily towards the newest reads that a story’s achieved in the most recent ranking window. That way, we won’t discount the total amount of reads altogether, but the longer it’s been since a reader completed a chapter in your story, the less of an impact that read has on your current ranking.
Between these 2 factors, and when we looked back on our historical rankings data, we’ve noticed that in reality, story rankings don’t really change all that much within 24 hours. That means that we’re using up valuable server time and services to calculate #s that, 5 times out of 6 in a given day, aren’t really any different from each other. This is why we wanted to reduced the rankings calculations down to once a day; by cutting the redundancy out of our system, we could put our money and resources towards other areas of the platform.
However, when we made the shift to once a day update last week, we also inadvertently exposed some legacy issues (read: old code) with how we set up the system all the way back in 2014. Despite numerous tests, our changes caused some of the jobs that calculate ranks to run out of sync. This is why your ranks shifted so dramatically in a short period of time, and we’re sorry for the anxiety that’s caused everyone over the weekend.
In 2019, we still want to move forward with a system that actually runs efficiently and keeps all the rankings in sync. For now, we will leaves things the way they were through the holidays, and wish everyone season’s greetings and a happy new year once you get there.
The Episode Team