I’ve never used this platform before, but I’m not sure how he defines the chainring and cassette tooth counts. On the http://di2stats.com/help page, he explains he tries to guess the tooth count based off of shift changes:
There is a bug in how the D-Fly data is recorded in the Garmin devices. The only data recorded is shifting events. There is no initial gear recorded. I have created my algorithm to make an educated guess about the initial gear based on the first shift. There are certain scenarios if you are near the end range of the cassette or if your first shift is a front shift and you only have two front chainrings, where I can calculate the initial gear exactly. In other scenarios, I currently assume if the first shift is a rear shift that it is an upshift into a harder gear in the rear cassette. Based on that assumption, I can calculate the front and rear gear numbers and store them for later. If you ever shift into those gear numbers again, then the D-Fly will tell me exactly how many teeth are on the chainring and cassette in those positions. If you shift a bunch of times, this initial guess (if wrong) won’t matter. But if you only shift a few times in the entire ride and the initial guess was wrong, then that can definitely have an impact on the shifting percentages, etc…
If you want to be really sure that everything is correct … always start your ride with two shifts immediately after you start the timer and start moving. If the initial guess was wrong, it will be corrected by the second shift. Since the initial incorrect gear only lasted a second or two, it should have no impact on the overall shifting percentages.
I’m not sure if you’ll find much help on this forum, so I’d suggest contacting the author of that site at firstname.lastname@example.org for any detailed questions you have.