I am having the kind of problem with my ISP at home that's difficult to prove without receipts and got tired of how I couldn't pull any real stats from the DOCSIS modem.
It's a Hitron CODA-45 and there's no SNMP or anything similar as far as I can tell. Digging into the HTTP status page that you can pull up, I noticed the way it loads is very odd: it's all javascript-based and actually hitting some internal calls that return JSON in the background. One weekend later and I built something to pull from that, do some basic math, and plot some graphs.
Just in case someone else finds this useful, bearing in mind that it's been tested against exactly one modem running exactly one version of software: GitHub - ReK42/modem-info: Collect and plot detailed information and statistics from your modem.
Regards,
Ryan