Diabits - A deep dive
As we discussed in a previous blog post on machine learning, Diabits deploys a supervised machine learning algorithm to predict blood glucose. It is the most accurate and reliable commercially available algorithm that we’re aware of.
The Diabits prediction algorithm takes various features of your health into account, the most important being your most recent blood glucose levels reported by your CGM. As each new blood glucose measurement becomes available, Diabits updates its prediction for up to 60 minutes ahead and assesses the accuracy of previous predictions. While this alone is enough to provide reasonable predictions, we take it a few steps further.
Diabits has a learning period - your first 5 to 7 days where your prediction horizon grows from 15 to 60 minutes. This is to create a pool of your data from which Diabits can identify patterns. As this pool of data grows, your prediction horizon is extended and predictions become more accurate. Diabits is unique in that predictions are based solely on your data. Other commercially available blood sugar prediction algorithms attempt to group people based on various health factors, meaning that one person’s blood glucose predictions are at least partially generated from another person’s patterns. If your health characteristics (like age, weight, exercise) are similar to another person’s, these algorithms use that person’s blood glucose patterns to predict yours, sacrificing accuracy.
A summary of your patterns are available under ‘Insights’. For example, if your blood sugar is typically low in the morning, Diabits takes this into account when predicting your morning levels. If one morning Diabits predicts that your blood sugar will be uncharacteristically high, it might take your historical patterns into account and decrease your estimated blood glucose.
Analytics - Simulated Data
Diabits is much more than just a machine learning algorithm. It is a whole system thoughtfully designed to make the user experience as easy as possible. So how does Diabits actually work?
Diabits is divided between the front and backend. The frontend is what you see and interact with on your phone - the graphs, notifications, and your settings. The backend is a system composed of the database and other services. These services include things like your blood glucose notifications, generating predictions, sending out weekly reports, and more.
Once you connect your CGM to Diabits, the backend pulls your CGM’s data. When you open up Diabits on your phone, the frontend pulls this data from the backend and displays it to you, complete with scrollable graphs and other features. This whole process can take some time (just a few seconds actually, but that's too long to wait), which is why data is transferred from your CGM to the backend continuously in the background. This allows you to see your data quickly when opening the app.
Next time you fire up Diabits, take a moment to think about the complexity of what is going on behind the scenes!