Good question! There are a few different "events" that are saved to the database when a blogger or curator listens to a song.
The first 3 are easy to answer. A single piece of code fires and saves the information to the database that they have indeed listened for at least that length of time. The 4th one is a bit harder.
For it to be accurate, we need to know exactly when they stopped. If they switch to the next song, for example, it's easy for us to capture that number. However, if they close their browser tab, it's very difficult for us to tell. And sometimes specific browsers are more difficult than others.
Roughly 90% of the time we're able to tell exactly how long they listened. Occasionally we can only tell whether they passed certain thresholds. Hopefully that explains why the number isn't always there!