Comparing multiple insulins

For years I used Humalog as my “fast” insulin (before that I used Actrapid!) so when I moved to Fiasp that’s what I had to compare with. I’ve recently experimented with switching back to Humalog to check my settings, and the results were interesting. Including that my no-bolus, no-announce closed-loop system still worked. I have in the past experimented with Apidra, but wasn’t interested in updating that comparison now.

But what I have done is experiment with NovoRapid, which is the “Humalog equivalent” insulin that many people are familiar with. It’s also the base of Fiasp, so could shed some light on the differences I found between Humalog and Fiasp.

To recap, the insulin names are:

Insulin Brands
insulin aspart NovoRapid (NovoLog in North America), Truvelog
fast-acting insulin aspart Fiasp
insulin lispro Humalog
insulin glulisine Apidra
insulin lispro-aabc Lyumjev (not in Australia yet)

Questions I had included:

  • Fiasp and NovoRapid are both “insulin aspart”, so how do they compare?
  • Humalog and NovoRapid are often billed as “equivalent”, but are they?

What did I do?

I’ve now spent several weeks using NovoRapid and tuning my settings so that my BG results remain within range. As I expected, a few different settings needed tweaking.

Through all of this I’ve been using the same CGM system (G6) and the same pump (YpsoPump OPN). To my knowledge all the samples of insulin have been kept in appropriate cold storage chain before their use. I have to trust my pharmacies, and then I keep them here in monitored and temperature-controlled storage.

Note that I’m not just setting basal rates and doing the occasional bolus for meals, I’m using the oref closed-loop algorithm in AndroidAPS to manage my insulin dosing. I seem to have it tuned fairly well, as it’s being a “closed-loop” and not a “hybrid closed-loop”.

I have not bolused manually for meals or corrections, and in fact I usually don’t even declare food intake (which is usually several hundred grams per day when I do bother to count it). I don’t do any boluses, but the system doses me with insulin automatically through the day and night. I do try to warn the system when I’m exercising.

So with that behaviour as a stable baseline, it’s been useful to look at what things I’ve had to change with each insulin to achieve similar results.

Basal rates

After tuning, my basal rates with Fiasp and NovoRapid ended up exactly the same.
As noted previously, my basal rates are 2.6% higher than with Humalog.

But you’ll see further below that the average total daily dose (TDD) of insulin varies between all three.


My ISF has to be a lot more aggressive with NovoRapid dosing than Fiasp (~35% more). This makes sense, as especially in the first two hours much less of the NovoRapid has effect (according to the activity profile graphs below).

However the ISF also has to be a bit stronger with NovoRapid than Humalog.

Mind you, it’s worth noting that the steps available to me for ISF were only 0.1 mmol/L per U. So there’s a lot of scope for rounding errors. When moving from Humalog I could change it by 4.5%, 9.5%, but I had to go to 15%! I’ll go through this later in this article.


As I’ve explored elsewhere, the number for “duration of action” for insulin in the model used by the oref algorithms is different to the numbers used in many traditional pumps (and different to the number used in Medtronic’s HCL systems). Along with the time-to-peak-action parameter, it defines an exponential curve. These are not the “insulin activity” times you’re used to!

The numbers I’ve ended up preferring are:

Insulin Peak Duration
Humalog 75 minutes
“Rapid-Acting Oref”
7 hours
NovoRapid  75 minutes
“Rapid-Acting Oref”
9 hours
Fiasp  55 minutes
“Ultra-Rapid Oref”
9 hours

The default constraints in AndroidAPS have the duration limited to 7 hours, so I had to make some local changes to the limits in my copy. It’s also possible if you set your “patient type” to “Pregnant”, but if so you need to carefully check all the affected safety limits (listed in the AndroidAPS documentation). This may change in a future update to AndroidAPS.

With NovoRapid I started out with 7 hours, but noticed things didn’t always quite work right. For example my BG suddenly crashing in the middle of the night (many hours after the dinner spike in insulin). So I moved to 8 hours, but after a few days similar things happened. Then 9 hours, and it’s been stable ever since!

The fact that it aligns with the 9-hour duration that works best for me with Fiasp (which is essentially NovoRapid with an accelerant) does make a lot of sense.

The resulting modelled activity profiles look like this:

Of course these are just the mathematical models being used by AndroidAPS to model the insulin activity. They were designed to match the manufacturer-published insulin data, although I suspect they weren’t designed around this level of precision, especially many hours after administration.

But they do seem to work for me with AndroidAPS (and thus I would expect with any other oref-based system). Using the parameters I have found to work for me with each of these insulins, the models do present some interesting insights.


The earlier the activity peak, obviously the more insulin gets used earlier. This shows up in the IOB (insulin on board) calculation:

Having the IOB drop away faster with Fiasp makes exercise easier to manage (e.g. for my bike riding I find it helps to minimise the IOB before I set off). I’m still looking forward to getting access to Lyumjev which drops away even faster.

Those NovoRapid and Humalog lines already separate a bit, but if we invert that graph and compare the relative amounts of used-up insulin I find the numbers more enlightening:

As you can see, just that change in duration for NovoRapid (from 7 to 9 hours) results in a model that predicts less activity over the first 2-3 hours. If these models are accurate, that would be a 5% difference between NovoRapid and Humalog in the 1-3 hour window.


Meanwhile, the other settings I’ve had to use (and how they relate to Humalog) are:

Humalog NovoRapid Fiasp
Basal/day 21.94 U  22.52 U
 22.52 U
ISF 2.3 2.1
(129% of NR)
Total daily dose
over 14 days
32.18 U 33.62 U
34.06 U

Why is my ISF dosing 9.5% more NovoRapid than Humalog (the inverse of 91%)? Actually with the limited ISF precision available to me it might have needed a little more.
I was tossing up between using 2.0 and 2.1. So we should say an ISF somewhere between 9-15% more aggressive.

The graph predicted 5% to factor in the earlier overall action (shorter tail) of Humalog. If the activity profiles of these insulins was identical, that 5% would disappear. When we multiply the 5% and the 4-6% (higher total daily insulin required), the result predicts an ISF difference of 10-12%.
Towards the bottom of that 9-15%!

BG results

Let’s look at some statistics:

Fiasp, 14 days Humalog, 14 days NovoRapid, 13 days
TIR (3.9-10) 94.6% 93.2% 92.7%
TIR (3.9-7.8) 80.0% 82.9% 79.8%
“TBR” time below 3.9 3.5% 4.1% 4.8%
Average BG 6.2 mmol/L 6.1 mmol/L 6.2 mmol/L
Coefficient of Variation 26% 33% 27%

These are relatively short periods, with regular “life” things going on. For example NovoRapid only got 13 clear days because the next day my third NovoRapid reservoir emptied and I figured it was time to switch back.

I was surprised to see the CV for NovoRapid drop to below Humalog’s 33%, but then there were some outlying CGM spikes during the Humalog time that were more error than real data (see the graphs below).

I was not surprised to see the 3.9-10 TIR approximately the same, but I was impressed by NovoRapid’s TIR for 3.9-7.8.
But again there will be real-world variation in these: I’m used to seeing slightly higher TIR for Fiasp most of the time (and fully expect to see it jump back up when I transition back to Fiasp).

Now for the AGP graphs. First NovoRapid, then Humalog, then Fiasp:


I’m sure if I ran these for longer the bands would cluster together even more. For example some of the overnight lows with Humalog and NovoRapid were from early on while I was tuning the DIA. Overall the differences are not dramatic.


There have been a bunch of fascinating observations from this exercise, including:

  • NovoRapid works best for me with a 9 hour DIA! Same as Fiasp.
    Humalog seems stable at 7 hours.
  • NovoRapid and Humalog may peak at the same time, but the longer tail of NovoRapid means its activity rises (and then falls) more slowly.
  • The observed differences in ISF do seem to match the mathematical models.
    Because their peaks are lower, the slower insulins need more-aggressive ISFs but the IOB will decay slower.
  • My basal rates and overall insulin use seem consistent between NovoRapid and Fiasp. Humalog might need a little less.
  • No-announce, no-bolus looping has been possible for me with all three insulins. Easier control with the faster ones though.

For me:

  1. Fiasp works best for me given its faster activity and quicker drop in IOB.
  2. Humalog would be my second choice.
  3. NovoRapid works OK, but seems the least-effective insulin out of this collection. It works just as fast as Humalog, but needs a bit more insulin for the same effect and hangs around in my system for longer.

As long as Fiasp works (some people have reactions and find it doesn’t work well) it’s the fastest option we have in Australia at the moment. Based on my experience I would expect that someone moving from NovoRapid to Fiasp would see a larger difference than someone moving from Humalog.

But of course all this is “N=1”. Just the way these insulins behave in my body, not averaged over a large study cohort.

I look forward to the day we get access to Lyumjev in Australia!

In the meantime I’m not planning any further insulin experiments for now. It’s back to Fiasp I go…

Addendum (early October)

After returning to Fiasp, things settled down quite quickly. Looking at 7 days of data and comparing with the earlier Fiasp sample:

Fiasp, 14 days
Fiasp, 7 days
TIR (3.9-10) 94.6% 95.1%
TIR (3.9-7.8) 80.0% 87.3%
“TBR” time below 3.9 3.5% 1.6%
Average BG 6.2 mmol/L 6.1 mmol/L
Coefficient of Variation 26% 26%

That’s a slight improvement in a couple of places over the earlier Fiasp sample.

But just to show that life varies a lot, I think it’s worth noting that one of those 7 days involved eating the voluminous output of a Mexican cooking class my partner participated in. It was very tasty, but not especially low-carb (or low-GI). If I discount that day the stats look like this instead:

Fiasp, 7 days
Fiasp, 6 days
TIR (3.9-10) 95.1% 98.4%
TIR (3.9-7.8) 87.3% 90.7%
“TBR” time below 3.9 1.6% 0.6%
Average BG 6.1 mmol/L 6.0 mmol/L
Coefficient of Variation 26% 21%

Again, this is without counting carbs or bolusing at any point.

Averages play a big part in our lives. Usually I deal with longer-term (e.g. 90-day) periods and events like that disappear into the averages. There are some limitations with the 14-day periods used earlier in this article, but the bottom line is that I wasn’t interested in investing 6 months of my health on the 3-way comparison!

11 thoughts on “Comparing multiple insulins”

    1. Impressive results !!
      Do you have a particular diet (low carb, avoid fast carbs) ?
      I still struggle with peaks after carb intake …

      1. Not low carb. “Mid-carb” maybe? When I count it usually comes in somewhere between 200-400g/day.
        Yes I do go for lower-GI options where available, but I do also indulge in chocolate from time to time.

        1. OK, I have even less carb than this per day.
          I should tune better my loop parameters then. I’m also in androidAPS + G6 and Fiasp.

  1. Hi, you mention looping with YpsoPump OPN in the article. Is this as part of a trial or something that’s now available in Australia? My son is using the Ypsopump so I’m very interested in the future developments of it.

    1. This pump is only available in some clinical trials. Hopefully the next official update to the YpsoPump will share many of its features. It’s essentially “just” a firmware update, but needs a different regulatory approval.

  2. It’s interesting seeing the data you’re getting from fully closed loop with Novorapid and Humalog. Using completely closed loop, even with Lyumjev, it’s nigh on impossible for me to get much better than 83% TIR 70-180mg/dl/3.9-10mmol/l.

    The issue is almost entirely related to post meal rises and the time insulin takes to act, so to see you hitting 93-94% regardless of insulin type (the difference between 94.6% and 92.7% is hardly statistically significant) potentially raises an interesting question relating to what level of insulin production your body still has.

    The relative difference in insulin availability between Fiasp and the older analogues should, in theory see a larger difference in TIR, however, what you’re showing suggests that there may be something else going on there.

    I wonder whether, at a cohort level, the efficacy of fully closed loop capabilities and the remaining insulin production are correlated. My suspicion is that a tiny amount of insulin response is enough to nudge fully closed loop enough to handle early glucose effects more effectively.

    1. If we look at my historical data I have got better TIR and much lower CV with Fiasp. I can annotate this with another fortnight’s Fiasp data in a while in case it’s a sampling issue. I’ll certainly be generating a lot more Fiasp data as I go on.

      1. Interesting. I wonder if there are other parts of the endocrine system at play then, which affect the speed at which glucose is absorbed or the effects of glucagon alongside eating that come in to play.

        Without a pre-bolus for any meal with a rapid glucose component, I get a fast rise, and volume of fast carbs plays a bigger part in the outcome than the fat and protein components that would, in theory, slow it down.

Leave a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.