It’s not lousy, it uses a different system which generates a different value.
It seems that you would like them to use the system used by DR database. For reasons discussed extensively on this website, they don’t. This is from Roon’s KB explaining why they use R128 instead of the system the DR database uses:
How is Dynamic Range computed?
As with Volume Leveling Roon’s dynamic range calculation is done based on R128 standards. In technical terms, Roon’s “Dynamic Range” is the same as R128’s “Loudness Range”.
That there are older methods of computing Dynamic range out there–most commonly by measuring the “Crest Factor”.
Crest Factor measurements reflect the difference between the average volume and the peak volume–so they are easily swayed by periods of silence or near-silence (which distorts the average), and by short-duration peaks–which may not represent the volume of the loudest parts of the track accurately.
The R128 method is more resillient. It begins by computing the statistical distribution of loudness values present at different points in the track, ignoring periods of silence. The computed dynamic range represents the difference between the 10th percentile and the 95th percentile of that distribution. In other words, the “top” of the range is the volume level that 95% of the track sits below, and the “bottom” is the volume level that 90% of the track sits above.
Though both methods portray roughly the same information, Crest Factor values aren’t directly comparable to values produced using the R128 method.