G6 calibration algorithm musings

My observation on G6 calibration now that I’ve had a G6 for 7 months:

If my CGM says 78 but my fingerstick says 122, and I really trust the fingerstick, I can do a calibration.

When I punch in 122 for the calibration, I can see that what the meter does is average 122 with 78 and now it shows me at 100. Which is EXACTLY halfway between 122 and 78. This INVARIABLY is how it works.

It “smoothly back-corrects” some of the past hour of readings to show a smooth ramp to the new calibration (not a stairstep).

If I do a really radical calibration, the math I describe above briefly works, but then the CGM decides that it doesn’t trust anything anymore and goes into a “Recalibrate after xx minutes” mode. This used to happen when I had wonky numbers in the first 12 hours of a sensor and tried to “calibrate them out”. Now I mostly do a presoak but I have learned there’s little to no purpose in trying to calibrate the first 12 hours of a non-presoaked sensor. You just have to ride out those false low readings. You cannot calibrate them out.

By repeating the calibration a couple times over a 10-day sensor, you can see what the calibration is doing is a successive approximation. It is always the arithmetic average of the CGM reading with the fingerstick reading.

I don’t know if it’s adjusting both the intercept and the slope of a calibration curve, or just one or the other, but I imagine that internally it’s adjusting both intercept and slope especially if you do some calibrations while high and others while low.

Mathematically if you only calibrate while at the same number, I don’t know how CGM could figure out that it should tweak the intercept or the slope of its internal curve to do a rise-and-run curve.

The meter doesn’t believe any one calibration as gospel. Your first calibration will take the “4-digit code calibration” and average it with your first calibration. So a single calibration is NOT throwing the 4-digit code calibration out the window. But the net effect of several calibrations means that successive calibrations make the original 4-digit code calibration less important.

1 Like

“slope”, “intercept”. STOP! You are given me a headache. :slight_smile: This seems to be more of a hobby for you–analyzing your CGM’s algorithms. Thankfully, the average user need not concern themselves with algorithms to have great success (read: accuracy) with Dexcom CGM’s.

How about RISE OVER RUN ??? :slight_smile:


Love it. When you’re rising too fast run and get your insulin.

1 Like

I see the same thing. But the next reading after the mid-point reset matches the calibration value +/- a few points. In my experience the readings are accurate thereafter unless you’re dealing with the 24 hour “flaky sensor” startup. I agree 100% that calibrating in this timeframe is useless.

I presoak for at least 12 hours and have eliminated the flaky startup problems. For me there is always a 20-50 point offset but it’s consistent and one calibration brings it back in line. Smooth sailing thereafter. I know others aren’t quite as lucky with presoak.


That’s what I see too. Usual pattern is you get the split-the-difference reading immediately on entering the calibration, but the next reading is within a hair or congruent with the fingerstick entered. (Leaving aside what happens with those miles-off calibrations that throw it into self-check mode for a while, but I rarely see those.)


I usually get the split-the-difference with a G5 receiver, but not always, but never get it with G5 on my phone.

1 Like

THANK YOU. You are right, the immediate correction is to split-the-difference, but now that you mention it the next reading is lined up with the number I typed n for the correction.

I am actually unclear on whether the calibration is in the receiver, in the transmitter, or what. While I have tied in an android phone in the past most of the time I use the G6 receiver.

So when I key in a calibration… does that apply only to that one receiver? Does the receiver send it to the transmitter and the calibrated on other receivers like my cellphone? I’m actually not sure.

I started with a bunch of things to reply, then @Paytone and @DrBB pretty much covered it all by the time I got to the end. I feel like each days point is influenced by the two or three beforehand. After a few data points, you approach your entered calibration.

It pisses me off to no end after that first crazy high reading upon restart. I want to be able to just erase those false data points, but they continue to mock me and maim my pretty graphs. We all have our devils to bear, mine is OCD. :sweat_smile:


All the calculations including calibration takes place on the transmitter. When you calibrate on one device connected to the transmitter, the transmitter sends the results to all the devices.

Now that you mention it, I do not know. Hopefully someone will tell us. I know the transmitter communicates the senor readings (raw data) to the receiver and the phone. And both my receiver and phone use the same Dexcom algorithm to report identical Dexcom readings. The only time they are not identical is when I calibrate. That would suggest to me the calibration takes place in the receiver and phone but I am most likely wrong. Anxious to hear.

Paytone, I use Xdrip as my application but it reports Dexcom readings which are the same as my receiver except when I calibrate. Since the transmitter sends out data every five minutes, the calibration is somewhere in between readings so I don’t understand how the transmitter could send out calibrated readings but I don;t know for sure. Could you explain?

I’m not sure I fully understand your question. I’m not familiar with X-drip. Are you saying X-drip doesn’t match the receiver? What does it show?

Dexcom provides products (transmitter, sensors. adhesives, etc.) services (customer service, tech support, etc.) and their app (displays readings, triggers alerts, etc.). I use the G5 but use the Xdrip app and not the Dexcom app. [If you use an Android phone you should look into Xdrip. It is incredibly better.] I choose to get exactly the same readings on Xdrip as the Dexcom app (my receiver) and always do except for when I calibrate. Then, generally, the Dexcom app generally goes halfway when you calibrate and Xdrip shows a different number after I calibrate. But they then have the same reading in 5 or 10 minutes. That’s why I don’t believe the transmitter sends out calibrated data but can’t otherwise support my view.

Thanks. I’ve heard great things about x-drip but I’m on iOS and I understand it’s not available there (or only in a limited form). From all the good things I read, I wish it was!

I also never had an Android phone so can’t speak to what might be happening within it. Everything I’m sharing is my experience/knowledge with the G6 and i know you’re asking about G5.

But the transmitter sends the calibrated data to all devices via Bluetooth. That comes from my Dexcom rep and the Dexcom patents I’ve read. If X-drip is connected to the phone I assume that means it gets the same information as all the other devices. I think what you must be seeing is an artifact with how X-drip displays or uses the data.

I run Sugarmate and have in the past run Spike on my iPhone and they always match the Dexcom app. I also see the same readings on my X2 pump (which I use as a receiver and to run Basal-IQ)

It also makes sense (for the G6) because it requires a sensor code. I don’t enter that into Sugarmate or Spike, yet they’re able to display the same values as the G6 app. Curious to know if you enter the code into X-drip? For the G5 do you have to enter the calibration values into X-drip?

Don’t have G6 yet but soon will. Is the G6 Dexcom receiver Blue tooth compatible? I mentioned earlier that I have read that Xdrip collects Dexcom raw data. Thus I have the choice of telling Xdrip to run it through their Xdrip algorithm, the Dexcom algorithm or some other algorithm. After comparing the various algorithms I have it run it through the Dexcom algorithm and thus get exactly the same adjusted data through Xdrip as I get on my Dexcom receiver. I am also getting an X2 pump soon as I would imagine they run raw data through Dexcom algorithm since they are partners.
Not sure whether this is that important to the post but is interesting. Thanks.

That’s really interesting!

I don’t use the G6 receiver so I can’t answer about Bluetooth compatibility.

The G6 uses BT.

You can go either way. You can start a sensor in either the pump/receiver or xdrip, but only one. I don’t know why, but someone at Tandems tech support thought it was VERY important I only enter the code in one device. Xdrip will automatically start receiving data without doing a thing, with a known transmitter.

1 Like