For a while I've been thinking about some sort of rank or level of your account. Things to take into account:
* Total playcount * Total playtime * Plays per day * Unique tracks and artists * Consecutive tracks and artists * ... There's a lot you can take into account.
Do you have ideas on how to calculate a fair rank/level from these stats? I have some ideas but I want to hear your thoughts about this.
There can even be different types of ranking/levels.
I'd like to be able to see which users are an authority on a specific (or a subset of) genre(s) and get their suggestions what tracks are worth listening to. Take for instance a user like RhinoL (who also has the most unique tracks) whom I have a compatibility=low with. I don't care about that 'cause I know he's the guy to go to if I want some quality blues, rock, country. Last.fm doesn't show this information about users, only which artists are the most popular, making it impossible to find the hidden gems within all these music tastes.
The group to find the complete list of free music sites that scrobble to Last.fm
This is probably going to get met flamed in this statistics-minded group, but I'd like to suggest to do a different approach than all of the other Last.fm ranking-badges out there. Visitors to my profile see a score on a badge and they still won't know what type of user I am ("Is 72 high? Compared to what number/user?"). Am I social, returning often to my profile-page, listen regularly to (new to me) music, do I like female or male artists, do I listen to older music or just the new stuff, did my music interest change in the last x months, was I the first to scrobble a certain track, etc? I'd like to be able to convey my music-persona to these visitors in the most simplest to understand form. This could be done with (scripted) text or a static|animated image of my music taste in the form of a character. As text it would look something like: "Hi, I am a "{male|female /* based on the most listened to gender of all artists*/}" aged "{average age of artists}". I live in "{average city of artists}". I'm mostly into "{5 most listened to genres of all time}" and lately I've listened to "{5 most listened to genres of last 3 months}...And so on. With an image of the character you could make it look malnourished if it's been a long time since I've scrobbled some tracks, make it look scared if it's been a long time since I've visited my profile page, adjust the background according to my most listened to genre, etc. Basically it's a combination of a Tamagotchi and Farmville but based on your listening habits.
The group to find the complete list of free music sites that scrobble to Last.fm
PS: I had a big text here explained why use: (TTL / UTL) / UTL = score TTL = Total tracks listened UTL= Unique tracks listened Instead of just TTL / UTL = score, like a website do.
In the original website to make your score the same you would need to listen to new music at the same rate you listen to your music, and this would become impossible after some time. The (TTL / UTL) / UTL = score, just slow down that, and so the speed that you listen to new songs can be the square root of the speed that you listen to your songs. This didnt fixed the problem, just made it happen in a later time.
So, just use the amount of unique tracks and this problem is fixed. I know that this would make guys with a new last.fm account have a lower score, but if they really have many unique tracks on pc and will listen to than, their scores will be "fixed".
PART 2 Amount of unique artists
PART 3
You could also get the ecletic score like this website ( http://anthony.liekens.net/pub/scripts/last.fm/supereclectic.php ). But this website use top 50 artists of overall chart and use is top 20 artists to do the calculation. You could get the top 50 artists of the last 3 months and use every similar artist to make the calculation (250).
PART 4
Getting the final score:
Now you would do some calculation to make those scores worth the same amount of points. So, a good score in the first test would be worth the same amount than a good score on the second test.
IF YOU WANT THAT I EXPLAIN SOMETHING OR GIVE EXAMPLES. JUST ASK.
You could also get the ecletic score like this website ( http://anthony.liekens.net/pub/scripts/last.fm/eclectic.php ). But this website use top 50 artists of overall chart and use is top 20 artists to do the calculation. You could get the top 50 artists of the last 3 months and use every similar artist to make the calculation (250).
That seems like a pretty good idea, but here's the problem. The eclectic score calculator only considers the top 50 artists for each user. The problem is that for some users, myself included, the top 50 artists comprise a small portion of total plays.
In my case, my top 50 artists comprise only 33% of my plays, thus my eclectic score is misrepresentative as many of my eclectic taste is not shown in my top 50.
If this could be extended to say, top 100, go for it. But I am not a fan of the eclectic calculator.
mhunke disse: That seems like a pretty good idea, but here's the problem. The eclectic score calculator only considers the top 50 artists for each user. The problem is that for some users, myself included, the top 50 artists comprise a small portion of total plays.
In my case, my top 50 artists comprise only 33% of my plays, thus my eclectic score is misrepresentative as many of my eclectic taste is not shown in my top 50.
Remember that I was talking about using the last 3 monts chart instead of the overall chart like the ecletic website use. Because the last 3 months charts represent better your taste (as I explained here http://www.lastfm.com.br/group/Extra+Stats+ftw!/forum/112154/_/488324/2#f12504364 in the end of the text) And yes we can use top 100 artist, If there are users that have almost 100 artists that they really like we will need to use the top 400 to represent what he like to listen.
exdeathbr said: Remember that I was talking about using the last 3 monts chart instead of the overall chart like the ecletic website use. Because the last 3 months charts represent better your taste (as a explained here http://www.lastfm.com.br/group/Extra+Stats+ftw!/forum/112154/_/488324/2#f12504364 in the end of the text) And yes we can use top 100 artist, If there are users that have almost 100 artists that they really like we will need to use the top 400 to represent what he like to listen.
Ok, I definitely agree that the last 3 months top 50 is a lot more representative. The only problem then becomes the variability of levels if they are determined, in large part, only from you're last 3 months of listening. It might be better to use the overall top 400 as you mentioned, although I don't know how practical this may be.
Ideally, this is what I would like to see. A few things that I think could be combined with this score to get a 'level' are: -Total Plays factored by Total Unique Artists and Tracks in library, and Plays/Day -AEP:
= 5 - 25 * ( Slope / AverageTop50 ) Slope = (value of the first artist in the chart - value of the 50th artist in the chart) / 50 AverageTop50 = ( The sum of all values in the top 50 ) / 50 -Length of time on last.fm
I don't believe that consecutive tracks and/or artists should be considered for one important reason: iPod scrobbling causes consecutive track and artist plays when there is none. If you don't know what I mean, when you listen to a song multiple times before syncing your iPod, every play of that song will be scrobbled as at the time of the very last play. Thus, if you listen to a song 10 times during the day, in between other tracks/artists, it will show up at the end of the day as you listening to the song 10 times in a row.
mhunke disse: Ok, I definitely agree that the last 3 months top 50 is a lot more representative. The only problem then becomes the variability of levels if they are determined, in large part, only from you're last 3 months of listening.
Please, if possible, explain better what you said here.
mhunke disse: It might be better to use the overall top 400 as you mentioned.
I didnt said that, I said the last 3 months top 50 and then I said the last 3 months top 100 (when you said that there are users like you that top 50 alone would not represent the artists that they like to listen)
mhunke disse: Ideally, this is what I would like to see. A few things that I think could be combined with this score to get a 'level' are: [...] -AEP:
So this website was made to see if the user listen to his artists almost equaly and not just listen to one and have few plays on others artists? Great idea. The user level score should be based also on this score.
But someone will say. "Why use this score?? A person can not love one artist way more than his others?" There is so much good things in the world, and if you look and try enought things you will be able to find many good artists, and so will be harder to have one artist with 5x more plays than the second one. An example is me, if someone say "post the artists that you most like, only 5", I would not be able to decide about my top 5 beause the amount of good things. If you can easily say your best artist you didnt looked hard enought for artists. PS: Music is subjective, I used the word GOOD here and when I did that, I was talking about good as in "some artist that an user will really like".
To make this AEP calculation use the last 3 months top 100 chart.
Then you would do some calculation to make this score worth the same amount of points that the others tests, and then get the average between those 4 scores.
Wow, great response! Thanks for helping me improve the site.
I've added AEP, SRI and some other stuff now. If you use 100 artists on the AEP wouldn't the calulation be something like this instead: = 10 - 50 * ( Slope / AverageTop100 ) Slope = (value of the first artist in the chart - value of the 100th artist in the chart) / 100 AverageTop100 = ( The sum of all values in the top 100 ) / 100
m0nkiii disse: Wow, great response! Thanks for helping me improve the site.
I've added [...] SRI [...]
On the unique tracks, dont use the last 3 months data, use only the overall data. Unique tracks is not about your taste, and so dont need to last 3 months data. SRI is only about if the user try more things or dont do that. And so if the user try more stuff this means that he care more about music, and so would get a higher rank.
When I talk about using 3 months data here, is when we are also talking about what the person like to listen, what artists the user prefer to listen and so problably like more. Because like I explaned some times before if the guy listened to few artists and discover artists that he likes more than the old ones, he will problably not be able to make his plays get higher than the plays of the old artists that he listened on the overall chart. Because he is listening the artists since a long time ago, and the one (that he likes more) he just started to listen now.
SRI is about how the guy listen to music only and not about also what he listen or his taste and so you dont need ( well, cant ) use last 3 months data. Guys that had the same amount of unique tracks and total tracks, but listened to totally different things, would get the same score.
OTHER THINGS: I dont think that your rank should use the time on last.fm do to the rank calculation. Lets imagine that a guy likes music alot, and try alot of stuff, listen alot of different stuf..., but he only joined last.fm this week. He would get a small score (at least at this part), but he like music a lot. Now lets imagine another guy, the account of this guy have 4 years, but this guy use only it so see his chart, to talk in the radiohead, paramore profile "I love this band", " if you dont like this band get out of it", and the only way he get into music is what tv (and so the big labels) put on his throat. He would get a high score.
Another thing that you should use to do the score of the rank is the mainstream rank of the user.
BUT WAIT. Someone will say: "Do you really think that a person cant listen to mainstream things?" The thing here is not about if you are the most underground listener on the world. Like I explained on a post on my blog (I recommend everyone to read it) If you listen to mainstream music only, its problably because you are not trying to underground stuff, there is so much good stuff on underground (no matter what your taste is), that if you tried a little more those bands, you would problably be listening to some of them. But I like simple plan stuff?? There are underground stuff like that. But I like britney spears and madonna? There are underground artists like that. Like I said there is underground stuff to everyone. Read to the post on my blog that the post explain in a very simple way using a analogy why I am saying that.
Now back to the calculation: Like I said you dont need to listen only to underground stuff. You can listen some mainstream bands too. So based on this, my calculation idea is different from the normal mainstream level calculations that you usually see on last.fm.
PSEUDO CODE
FOR(every artist in your top 100 in the last 3 months) { TOTAL_NUMBER_OF_PLAYS_OF_THE_USER_IN_THE_LAST_3_MONTHS = TOTAL_NUMBER_OF_PLAYS_OF_THE_USER_IN_THE_LAST_3_MONTHS + PLAYS_OF_THIS_ARTIST_ON_THE_LAST_3_MONTHS; }
FOR(every artist in your top 100 in the last 3 months) { %_OF_THE_TOTAL_PLAYS_THE_ARTIST_HAS = PLAYS_OF_THIS_ARTIST_ON_THE_LAST_3_MONTHS * 100 / TOTAL_NUMBER_OF_PLAYS_OF_THE_USER_IN_THE_LAST_3_MONTHS; }
FOR(every artist in your top 100 in the last 3 months) { MAINSTREAM_LEVEL_OF_THIS_ARTIST = LISTENERS_OF_THIS_ARTIST* 100 / NUMBER_OF_COLDPLAY_LISTENERS; }
REPEAT UNTIL X > 40 { get(artist that has the lowerst MAINSTREAM_LEVEL_OF_THIS_ARTIST AND that was not used before on this repeat); AVERAGE_MAINSTREAM_LEVEL = AVERAGE_MAINSTREAM_LEVEL + MAINSTREAM_LEVEL_OF_THIS_ARTIST; get(%_OF_THE_TOTAL_PLAYS_THE_ARTIST_HAS of this artist); X = X + %_OF_THE_TOTAL_PLAYS_THE_ARTIST_HAS; NUMBER_OF_ARTISTS_USED_HERE = NUMBER_OF_ARTISTS_USED_HERE + 1; }
SCORE = AVERAGE_MAINSTREAM_LEVEL equal 8 or lower, SCORE = 100, IF THE AVERAGE_MAINSTREAM_LEVEL = 100, SCORE = 0, AVERAGE_MAINSTREAM_LEVEL with other values get others SCORE between 0 and 100);
Normalize(SCORE);
Lets explain what is going on here: 1- On the first FOR, we are getting the total number of plays that the top 100 artists of the last 3 months chart have. You will see why we are doing this later.
2- The second FOR we are getting the % of those plays that each artist of this top 100 list have. Again you will see why we are doing this later.
3- On the next FOR, we are getting the mainstream level of each artist. This level is how mainstream the artist is and will be used in calculation
4- Now we will do the calculation. We will get the scores of the artists with the lowest mainstream level, and continue to do it until the plays of those artists togheter get higher than 40% of the user plays. And then make the sum of it. That is why on the first and second FOR we got the % of the total plays on the list each artist had, because we will only use 40% of what the user like in the mainstreal level calculation.
5- Now we get the average of this value. This is the average mainstream level of those artists.
6- Users with mainstream level of 100 will get a score of 0 and users with a mainstream level of 8 or lower will get a score of 100. This score will be used with the last 3 ones (unique tracks one, ecletic score and AEP) to get the user rank.
7- Then you normalize the score. So, do some calculations with this score to make him worth the same amount of points as the scores of the others 3 tests that was said before.
NOW THE QUESTIONS 1- Why your calculation use only 40% of what the user like (% of the plays of his artists) to do the calculation, instead of 100% of it like the others mainstream tests? Because as I said before, the thing here is not about if you are the most underground listener or not, the thing here is about if you just listen to mainstream stuff or not. If you just listen to mainstream stuff you are neglecting the underground ones, that are more than 95% of the total amount of artists. If we used to create the score, 100% of what the user listen, you would be calculating how underground the user is, instead of just, if he listen only to some underground artists or just listen to mainstream ones.
2- Why a mainstream 8% and lower get a score 100, instead of a mainstream score of 0,0001% getting the score 100? Again the thing here is not about if you are the most underground listener or not, its just about if you listen to mainstream stuff only or not, so, listening to a underground artist with 75 listeners or a underground one with 3400 listeners is the same thing here. So, a user with 8% or 0,1% is the same thing here. Both guys doens't listen only to mainstream artists.
3- Ok, but why you used a lower score like 8% instead of the a higher one like 20%? Because the mainstreams scores of famous artists decrease very, very quickly. Lets get Chris Brown, he is very famous, is 324 on the chart and has 889313 listeners. Coldplay the most played one has 2.993.620 listeners. The mainstream level of chris brown is just 29,7%. The band that is 10 on this week chart Gorillaz, has a mainstream level of 63,53% This show how quickly the mainstream scores of mainstream artist decrease. A user can listen only to mainstream artists and have a "low" score (example 30%). This score sounds like a low score but is in fact a high one, since a person that only listen to mainstream stuff can have it. So the mainstream level of bands decrease so quickly that 8% is not a very bad score, in fact is a normal one.
IF SOMEONE WANT THAT I EXPLAIN SOMETHING ABOUT MY POST, FEEL FREE TO ASK.
I'm feeling realy slow here, but where can we actually see the top 50? I currently have a 3.1654957064793 score, but have no idea what that means compared to others!
Maartel sa: I'm feeling realy slow here, but where can we actually see the top 50? I currently have a 3.1654957064793 score, but have no idea what that means compared to others!
The Rank / Level of your account