Weigh the average rating of shows/seasons by number of episodes watched
Currently, the average rating for a show seems to be a simple average of all the ratings, so it doesn't take into account how many episodes each user has watched. A more accurate depiction would be to weigh the average based on how many of the available episodes each user has watched.
Let's take a simple example: users A and B watch the first 10-episode season of a show the year it first airs. User A rates it an 8 and user B rates it a 9. After the first season of the show, the displayed average is 85%, which is correct.
A year later, the show releases a second 10-episode season. User A is super busy watching other shows, so he delays watching season 2. In the meantime, user B watches it and finds it to be terrible, so he reduces his rating of the show to a 5. The average then corrects to 65%. However, one could argue user B has a complete overview of the show in its current state, whereas user A has only watched half, so his rating should not have as much of an impact on the average. This can be achieved by using a weighted average:
(ratingA * weightA + ratingB * weightB + ... + ratingN * weightN) / (weightA + weightB + ... + weightN)
- ratingN is the rating of user N
- weightN is the number of episodes user a has watched divided by the total number of available episodes for the show or season (watchedEpisodesN / totalAvailableEpisodes)
So in our little example we have the following inputs:
- totalAvailableEpisodes = 20
- ratingA = 8
- totalEpisodesA = 10
- ratingB = 5
- totalEpisodesB = 20
- weightA = 10 / 20 = 0.5
- weightB = 20 / 20 = 1
Leading to the following weighted average:
(8 * 0.5 + 5 * 1) / (0.5 + 1) = 60%
If you introduce a third user that watches both seasons and also rates it a 5, the weighted average method yields an average of 56%, compared to 60% for the old method.
This solves the problem of ratings for ongoing shows and people who rate shows before they fully finished them. Some would argue people should not rate shows or seasons before they finished them, but at least for shows it makes sense to do so; you would not want to wait for a show to have ended before it can have ratings, otherwise users would not be able to decide whether to pick up an ongoing show. Depending on the details of the implementation, it could probably also alleviate the issue of people rating shows/seasons before release.