OK – here’s what I came up with… it’s not exactly what I had been thinking about, but I think it will help me sort out my tunes over many hours or years of listening. I call it “Sink or Swim”. The gist of it goes like this:
- If I play a song through I probably like it (though not always)
- If I skip a song I probably don’t like it (though not always)
- If a song hasn’t been played yet, all I have to go by is the rating that I’ve given it…
- Higher rated songs should be more tolerant to skips until they get a few plays under their belt…
Then I set up a custom calculated field that labels a song “Sink” or “Swim” according to the following:
- Is Rating >= Skip Count?
- If Yes… Swim (Gives a new song a few chances in the rotation)
- If No… Check if Rating is also >= Number Plays?
- If Yes, Sink (If the rating is three, the number of skips is four, and the number of plays is one, it's probably not a great song)
- If No (i.e. Number Plays is greater than Rating) then check if Number Plays >= Skip Count?
- If Yes, let the track Swim
- If not, it’s a Sinker. (or a stinker, if you will)
…Then I set up my every-day playlists to play swimmers much more frequently than sinkers. (by limiting number of sinkers…) I used to do something like this with a series of smartlists, but it’s oh-so-much-simpler using a custom field. And MC responds much more quickly when checking a single tag instead of re-calculating a bunch of nested playlists.
Hopefully this will be useful to someone else, too.
Here’s the code for the field:
=if(isEqual([Rating],[Skip Count],6),Swim,if(IsEqual([Rating],[Number Plays],6),Sink,if(IsEqual([Number Plays],[Rating],6),Swim,Sink)))