Miles per burrito

Posted on 2020-04-06 in story

With the COVID-19 pandemic currently affecting so many of us in the US and other parts of the world, it felt like a good time to write about something more light-hearted. In that spirit, today we are going to be examining bicycle commuting - specifically, typical caloric expenditures per unit distance.

bicycle with infinity miles per gallon in the city and on the highway


In the not-too-distant-past, I was a regular (typically once a week) bicycle commuter. I usually rode during three of the four seasons, starting first on a used Trek hybrid and ultimately ending up with a drop bar touring bicycle.

At some point, I ran across this graphic of a bicycle claiming to provide transportation efficiency at “infinity miles per gallon”. I posted it on my cube wall and was eventually challenged to substantiate this claim. At that time, I worked out a mini-dissertation on paper. Sadly, that calculation has been lost - likely to a recycling bin in a New Year’s cleaning purge. Since the Internet never forgets, I figured that this time around I would work back through the calcs in this Jupyter Notebook.


In order to determine a reasonable approximation of miles per gallon for cycling, we must first make accomodations for the difference in fueling mechanisms of the internal combustion engine versus a human cycle operator. The bicycle is propelled by the human, who is fueled by food. In cases such as this where a transportation mode is powered by alternative fuels, the efficiency of the alternative energy source is typically converted to a miles per gallon equivalence, or MPGe. As I recall, I did that same calculation previously. But what stands out from the past, and what I wish to cover first, is to express the efficiency of bicycle commuting in terms of miles per unit of food. Therefore, we need to select a reasonable, common unit of food with a known caloric content. Additionally, we need to determine a reasonable rate of caloric expenditure per unit of time for cycling.

Settling on a Unit of Measurement and Running the Calcs

Simply replacing a gallon of gasoline for a gallon of something like potato salad made sense initially. But that didn’t stand up as a suitable unit of food. How often do you run out (or order delivery) for a gallon of food at one time? No, it makes much more sense to use a more sensible portion size. While we’re at it, let’s pick something that reasonably could be consumed while cycling, such as… a burrito! Therefore, we’ll be calculating miles per burrito (MPB) when commuting by bicycle.

I’m most familiar with Qdoba as a common source of burritos, so let’s use their current nutrition guide. And, before we start slinging code, it would be a good idea to note that I will be using the pint library within python for all of the unit conversions. Therefore, let’s go ahead and sum up the ingredients for a grilled adobo chicken burrito.

In [1]:
import pint

ureg = pint.UnitRegistry()

def burrito_calories():
    """calculate the total caloric value of a typical burrito configuration"""
    tortilla = 210
    chicken = 150
    black_beans = 140
    brown_rice = 170
    lettuce = 0
    pico_de_gallo = 10
    salsa_verde = 15
    three_cheese_queso = 90
    all_ingredients =  tortilla + \
        chicken + \
        black_beans + \
        brown_rice + \
        lettuce + \
        pico_de_gallo + \
        salsa_verde + \
    return all_ingredients * ureg.kcalorie
bc = burrito_calories() 
print(f"{bc} per burrito")
785 kilocalorie per burrito

Good thing I asked that they go light on the queso. We’re almost to 800 calories without adding any chips, guac, or a drink!

Caloric Expenditure

The next step is to determine a typical caloric expenditure during bicycle commuting. Pretty much every fitness tracker out there will give you an estimate of calories burned for a given activity. I wanted something a little more scientific, so I went to the bookshelf to consult a copy of Bicycling Science, Third Edition. There, in Table 2.1 on page 76, we find a metabolic heat value for a touring cyclist covering 12 miles per hour equal to 6 kCal per minute. Combining this value with our total for the burrito gives:

In [2]:
metabolic_heat =  ( 12 / (6 * 60) )* (ureg.miles / ureg.kcalorie)

print(f"Energy flow rate: {metabolic_heat:.4f}")

efficiency = metabolic_heat * bc

print(f"Calculated efficiency: {efficiency:.4f} per burrito (MPB).")
Energy flow rate: 0.0333 mile / kilocalorie
Calculated efficiency: 26.1667 mile per burrito (MPB).

There you have it! 26 MPB, give or take.

MPG Equivalence

Let’s see how this stacks up against typical automobiles. A skim through the literature on Sonoco Racing Fuels gives us a value of 111,000 Btu per gallon of 118 octane leaded fuel. Let’s assume your typical 87 octance isn’t quite as potent and round down to 100,000 Btu.

This will give us MPGe for cycling:

In [3]:
gallon_of_gas_energy = (100000 * ureg.Btu).to('kcalorie')

mpge = metabolic_heat * gallon_of_gas_energy

print(f"Commuting by bike is equivalent to {mpge:.4f} per gallon.")
Commuting by bike is equivalent to 840.5481 mile per gallon.

Not too shabby!