Spotify royalties

Spotify is a cool service but I do not agree with how they pay out royalties. In this post, I will propose a different way.

The current royalty calculation is explained by Spotify like this: There is a big chunk of money (the revenue) and each artist is paid according to their global “market share”. The share is calculated by taking the number of artist streams and dividing it by the total number of streams on Spotify. 1

On the surface this looks like a good thing because everyone is paying for everyone. But the problem is that the equation does not account for the usage of each user on Spotify. Sometimes I can go days without using Spotify and every second I am not using the servive, the market shares of the artists I listen to are going down, relative to users that use Spotify more than me. For example, if I stream two Radiohead tracks during one month and another user streams eight tracks from Justin Bieber, the market share for Justin Bieber will be four times higher than Radiohead, simply because Spotify is being used more by the other user.

I think this is an unfair way of distributing royalties and I am not the first one to say this. 2 Instead of calculating a global market share for each artist, I propose to calculate the market share for each artist as the average market share value of that artist for each user.

So instead of:

for each artist:
  market_share = artist.streams / total_streams

I propose:

for each artist:
  market_share_sum = 0

  for each user:
    market_share_sum +=
      user.artist.streams / user.total_streams

  market_share = market_share_sum / number_of_users

The calculation is probably more complicated than what is explained by Spotify but I do not think the proposed change is unreasonable. Let us see how it fixes the market share calculation bias from the example before.

Old market share calculation:

Radiohead.streams = 2
JustinBieber.streams = 8
total_streams = 10

Radiohead.market_share =
  Radiohead.streams / total_streams = 
  2 / 10 = 20%
JustinBieber.market_share =
  JustinBieber.streams / total_streams =
  8 / 10 = 80%

New market share calculation:

David.Radiohead.streams = 2
someone.JustinBieber.streams = 8
total_streams = 10

Radiohead.market_share =
  (David.Radiohead.streams / David.total_streams +
   someone.Radiohead.streams / someone.total_streams)
  / number_of_users = 
  (2/2 + 0/8) / 2 = 50%
JustinBieber.market_share =
  (David.JustinBieber.streams / David.total_streams +
   someone.JustinBieber.streams / someone.total_streams)
  / number_of_users = 
  (0/2 + 8/8) / 2 = 50%

The two artist now have an equal market share. The reason that I think this is fair is that it values our listening preferences equally, not the time we spend listening.

I love Spotify and have been a happy (paying) customer for almost two years. The 99 SEK per month price means that I have spent more money on music in the last two years than I did in the ten years before that and I am sure I am not alone. Spotify says that about 70% of their revenue is paid to artists and rights holders so to me, it seems like a win for the industry. But I hope they redo their royalty calculation. Until then, my limited usage does not warrant a premium account. I really don’t want to support Justin Bieber while I’m sleeping.


  2. The problem has also been discussed on Hacker News.


  1. So, basically, you want the popular artists to subsidize the unpopular ones. Replace radio head with a folk singer from Georgia who gets one play, versus Bieber (whom I dislike) who gets 100000, and the folk singer gets 50% market share.

    You vote Democrat, right?

  2. That is not exactly how I see things working out but I understand what you mean. However, I don’t understand how your example shows the unfairness of the new method because the scenario you describe would most definitely not lead to a 50-50 split between Bieber and the folk singer.

    First, it is literally impossible for one person to play a 3-minute Justin Bieber song 100,000 times during a month so that amount would have to come from many users. Let’s go with the example: Assuming an average song length of 3 minutes and 2 hours per day of pure Justin Bieber per user, one user can stream 40 Justin Bieber tracks. So those 100,000 streams would come from 2,500 users. With the calculation from the blog post, Justin Bieber’s marketshare would thus be 99.96% and the folk singer would have 0.040 %.

    Second, there should be some kind of misuse detection in place. One could imagine a scenario (also with the current version) where someone signs up for many accounts and starts listening non-stop to a single artist, thereby driving up their market share. I am sure Spotify already has something like this in place. This would mean that if one user has just one stream throughout the month (the folk singer), this stream should probably be ignored. It would require more data from Spotify in order to analyze how this can best be done.

    I don’t vote Democrat, I live in Sweden.

Leave a comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.