I think it should be relative to content. As in versus actual text on the screen. This metric can also be applied "per-page" and "per-site", with less ambiguity for SPAs; every new load brings in more bytes, but also more text, thereby contributing to the ratio.
Even better - fixed site-wide assets (i.e css, js) to features; hence loading an entire framework only to use a small % of it's features is penalised.
For context, 1MB is the same order of magnitude as the original Doom which was about 2.4MB in size. [1]
[1]: https://www.wired.com/2016/04/average-webpage-now-size-origi...