[Login to see the link] - I'm very impressed, nice analysis!
One quick question regarding your comment on "compilations" -- What are you referring to when you refer to compilations from these services being in MP3?
If you're referring to the native format the music is streamed, Spotify is currently Opus. At present -- they are effectively delivering slightly above transparent equivalent when set to "very high". Previously Spotify was Vorbis for many years and a much lower bitrate. If I recall, I believe their highest average bitrate with Vorbit was around 160kbps.
Apple is also primarily AAC (M4A) from the beginning. Apple alone was the major push that caused so many to move from MP3 to MP4. For years they've also offered ALAC (their lossless equivalent to FLAC). I don't recall when, but at some point in recent years (perhaps in response to TIDAL), they began offering insanely high sample rates. While 44.1kHz was the standard years ago, Apple has some crazy digital titles up to 192Khz. I hate to imagine the size of those files.
Amazon also runs AAC on their native titles; however, their system works differently and as a result, like Youtube, has no consistent/single compression.
.
...Moving On...
.
If you're encoding your own music ...
It would be a great idea to begin using AAC or Opus. If using AAC, the codec matters. The default codec in FFMPEG is NOT great. You want to choose the Fraunhofer (FDK) AAC codec.
Opus is a single company and therefore, no confusion over which encoder to use (it can also be compiled into FFMPEG). Opus is a small bit more efficient than AAC/MP4; however, Opus is also slightly less complex to decode, which means that it eats a tiny bit less battery on your portable player.
FLAC/ALAC/Lossless is valuable for archival reasons. If, in the future, you decide to transcode your library, a lossless format assures you'll never have to "make a copy of a copy". [Login to see the link] is a collector. Like most collectors, they like to know that they have the archival form of music, which assures they can transcode however they like. In fact many people do the same with video; download a larger/high-quality file, then transcode for archival based on their size/quality preferences.
.
If you care about the size-quality trade-off when encoding Audio...
-1. Opus
-2. AAC (M4A) - preferably Fraunhofer
-3. Vorbis
-4. MP3 w/LAME @ VB2 for best size/quality tradeoff and VB0 for best quality at variable bitrate
.
Or ... If you need help learning how to encode your music, or have other questions ... I'm happy to help 🙂