About The Obscurometer

General FAQ

How does The Obscurometer work?

The Obscurometer taps into the last.fm api and uses that data to figure out how obscure the artists you listen to are, and how obscure your musical taste in general is. Primarily, The Obscurometer uses the number of listeners an artist has to determine how obscure the artist is. To figure out how obscure the music of a user is, The Obscurometer averages the obscurity of the user's 50 most played artists. Of course, behind the scenes it's a little more complicated than that. To learn more about exactly how The Obscurometer measures the obscurity of an artist, see the Technical FAQ at the bottom of this page.

Why is it so slow?

Sometimes new queries can take a while, up to a minute or even more. This is because of restrictions placed by the last.fm api, limiting the rate at which requests can be made. Even though The Obscurometer caches the results of each request, some requests still need to be made, one for each user and artist that is either not yet in the database, or whose information is too old and needs updating. This means that the more obscure your playlist, the more likely new checks will need to be made, and the longer your request is likely to take. Repeat requests made within a week of the initial request will not require any records to be updated, and should be very fast.

Why do you only use my 50 most played artists?

While using the entire play history of a user would be more accurate, a trade-off has to be made between that and the time it takes to return the results of a query. Each artist takes time to look up, so the more artists that are included, the longer it takes. For this reason, the calculation is limited to only 50 artists per user. Due to the weighing done during the average, the 50 most played artists will very closely match an analysis using all data.

Why doesn't the badge generator form work?

The form requires javascript to function. Please make sure that you have javascript enabled in your browser.

To whom can I send my angered complaints and/or loving praise?

The Obscurometer is far from a completed work, and is constantly undergoing updates. If you have any comments about existing features, or ideas for new ones, we'd love to hear from you. Just let us know using this handy contact form.

Technical FAQ

What formula is used to find an artist's obscurity?

Finding the obscurity of an artist is not a trivial task, if one means for the number to be meaningful. The method used by The Obscurometer defines obscurity so that it has some desired properties: the obscurities must range between 0 and 1 (so as to have meaning as a percentage); and the probability distribution function of the obscurities of users should look roughly like a normal distribution (most people are average, fewer people at the extremes). The number of listeners an artist has is well fit by a Pareto distribution. The distribution of listeners is fit with a Pareto distribution, and then that fit is used to map the values to the desired distributions.

How are user obscurities found?

User obscurities are figured as an average of the obscurities of the user's 50 most listened to artists, weighted by the number of plays of that artist the user has. This means that an artist you've listened to 1000 times will count five times more than one you have only listened to 200 times.

How long are results cached?

In compliance with the last.fm api terms of service, all results for user information are cached for seven days. All information on artists is cached for 30 days. Information is updated both by new queries, and by a script that periodically updates any artists and users that have not been updated in a while. This means that when you look at your obcurometer rating, you will always see the same rating for a week, even if your last.fm history changes before then.

What makes this all tick?

Initial data is gathered via the last.fm api. Everything you see here is done in PHP, using a MySQL database to store gathered data. Graphs are produced using the GD Library.