Alright, we sorted it out! I'm taking full ownership because it was caused by something I should have fixed last year - The stats setup I run is a cobbled together pile. Last year I had to make an adjustment to how I pull the stats into the spreadsheet because Google made changes that broke my automation.
Part of that adjustment last year involved me looking at how it posted the data to the spreadsheet, seeing it used a generic reference to the 'first tab' and not a named tab.
Fast forward to yesterday when Troy was setting things up on the sheet and he moved a tab for aesthetic reasons. The script started dropping data and I didn't realize it.
So, somehow, data from 7pm got preserved accidentally as the zero point instead of midnight.
We're corrected now, thankfully and the numbers going forward are accurate.
My apologies for the goof, but this is why I also make the data open to everyone and have a separate replication on my home desktop so I can do a thorough breakdown like this. Post mortems are fun, once I get the thread pulled together.
So, let's keep kicking some solid Protein!