Listening to music whenever at my Mac, I’ve come to realise iTunes shuffle doesn’t actually shuffle as you might expect.
That is, it’s not completely random. Tracks are selected based on skip count and play count.
If you’ve skipped a track a few times, it’s less likely to be played in shuffle mode than those with a higher play count.

Now, in need of some kind of method to make sure ALL of my tracks get played (I had some un-played from over a year ago because of iTunes’ lack of shuffling) I set up my own custom smart playlist to sit alongside the ‘Recently Played’ playlist.

Recently Unplayed

This is a fairly simple filter that does what it says on the tin.

I set up the filter as below:

My Recently Uplayed Playlist

My Recently Uplayed Playlist

The last 3 filters just get rid of the junk and make sure it’s only music. You must make sure ‘Live updating’ is ticked.

Now, I can listen to my music on a 40 day or so (for me) rota, with about 50 songs in my playlist at any one time; and this playlist is still on shuffle so it’s never the same 🙂
If you’re thinking ‘but I like the way iTunes works. I don’t want to listen to the tracks I’ve skipped!’, then my reasoning would be DELETE THEM!

Hope this helps someone… it took me a while and a bit of searching to find out that iTunes (and apparently iPods as well) don’t really have a random shuffle.