Fermi problems are a special category of estimation problems that demand quick back-of-the-envelope calculations. What makes them special is the Fermi estimate ā the typical solution approach to Fermi problems. It enables us to tackle uncertainty as well as huge numbers (really enormous numbers) quite effortlessly.
You would think that we do not have to deal with huge numbers often. But Fermi problems are more common than we intuitively expect them to be. And knowing how to tackle them not only saves us a lot of time, but also enables us to operate very cleverly and efficiently.
In this essay, I will be starting with my personal experience with tackling Fermi problems; this will serve as a motivation to learn more about this topic.
Following this, I will touch upon the historical significance of Fermi problems. Then, I will get into the nitty-gritty details of how to solve Fermi problems. But not to worry. This topic is about simple back-of-the-envelope calculations after all.
Finally, I will demonstrate the Fermi estimation method using a practical example. By the end of this essay, you would be able to recognise Fermi problems in the wild more easily and start tackling them as well. Without any further ado, let us begin.
Until a few years back, I used to develop race cars. Motorsport is a fiercely competitive field where teams try to gain performance advantages via every single vehicle component. Teams typically have gains in milliseconds mapped to millions of dollars in revenue gain. That is how fierce the field is.
More often than not, innovative engineers lay new ideas bare on the table. Teams have the capacity to design and manufacture entirely new car components (even complex carbon fibre components; my specialisation back then) in a matter of hours. But all this costs a lot of money.
One of my responsibilities was to vet the ideas using quick back-of-the-envelope calculations. This is because even computer-aided design and virtual simulation hours are too expensive to test the sheer number of ideas engineers often come up with.
For example, let us say that a design geometry features a sharp edge in a particular location. Based on the geometry and load assumptions, I could āguesstimateā if the corresponding stress tensor component would stay within the elastic range or slip into the plastic range in that region.
For the uninitiated, plasticity is bad in most contexts. Once stresses exceed the plastic limit, the material deforms permanently. In any case, I share this story to give you a practical picture of how Fermi problems pop up.
More often than not, we just donāt recognise them. Donāt get me wrong. We could proceed with any generic back-of-the-envelope estimation method, but it is just that the Fermi estimation method is particularly geared for efficiency when tackling Fermi problems.
Before we proceed further with the method, let us take a look at who invented it.
The Origin of Fermi Problems
The term āFermiā in Fermi problems takes after Enrico Fermi, a world-renowned Italian-American physicist who helped create the worldās first nuclear reactor.
His work in the field of nuclear physics was so crucial that he is often praised as the āarchitect of the nuclear ageā. He eventually won the Nobel Prize for his pioneering work in nuclear fission.
Not only that, but from all of the people he mentored or influenced, eight people went on to win Nobel Prizes as well. In short, he was really good in his area of expertise.
The first ever atomic bomb test was codenamed Trinity and Fermi was on site. As the explosive went off, Fermi dropped some pieces of paper and watched them blow away from the force of the blast wave.
Based on how far these pieces of paper travelled, Fermi estimated that the blast was roughly equivalent to 10 kilotons of TNT. Later on, the precise number turned out to be 21 kilotons.
Although the estimate was off, the error was within one order of magnitude of the precise number (10Ā¹ Kilotons of TNT) ā something that could be useful to make quick decisions.
Fermi became famous for his useful back-of-the-envelope estimations and his technique later became famously known as the Fermi estimation method.
But note that his technique only works for problems that have a large amount of uncertainty and involve huge numbers.
Look at it this way. Fermi problems are problems for which the answer estimate (Fermi estimate) is acceptable if the error is within one order of magnitude of the precise answer.
There is a trick to this that lets you use this approach to solve any estimation problem ā more on this later in the essay. For now, let us take a look at a few examples.
Examples of Fermi Problems
Here are some interesting examples of Fermi problems/questions that I managed to scavenge from various sources:
1. What is the volume of the moon in cubic metres?
2. How many kilograms of onion does the city of Sydney, Australia consume in a year?
3. Between two blinks of your eye, how far does light travel in a vacuum?
4. How many blades of grass does a football field contain?
5. What is the mass in grams of an average mature tree?
At first glance, you would think that we cannot answer most of these questions. But hereās the thing. Fermi estimation allows us to make remarkably good educated guesses of the answerās order of magnitude.
If the guess indeed lands us in the right ballpark, we know that we probably made the right assumptions.
But if not, then, we need to reconsider our assumptions. Either way, the Fermi estimation method allows us to approach the correct answer at a very fast rate.
Let us take a look at how to actually solve Fermi problems.
How to Tackle Fermi Problems and Deal With Huge Numbers
Once you have determined that you are dealing with a Fermi problem, the first step is to break the problem down into two parts:
1. Gather all the information that you know about the problem as variables.
2. Come up with estimates for information that you donāt know about the problem also as variables.
Each of these variables interacts with another variable typically via multiplication or division.
To proceed, you perform one operation at a time between two variables and consider this as a step. Then, you take the intermittent solution and perform the next operation with the next variable as the next step and so on.
The more steps you have, the more variables you are dealing with. The reason why this method works boils down to two factors:
1. The information about the variables that you know are usually close to correct.
2. Your estimates for variables that you donāt know about, if unbiased, tend to err on both sides of the accurate numbers. So, the errors tend to cancel each other out.
All of this might sound too abstract now, but as soon as we cover a practical example, you would realise that the Fermi estimation method is remarkably simple.
Taking about examples, why donāt we tackle an example question from our list?
Solution to an Example Fermi Problem
Let us try and estimate a solution for the first Fermi problem from the example list:
1. What is the volume of the moon in cubic metres?
Here are two things that I think are relevant to solve this problem:
1. I know that I can safely assume the moon to be a sphere. I know that its precise volume would not deviate more than one order of magnitude based on this assumption. I also know that I can compute a sphereās volume using the formula: ((4/3)*Ļ*rĀ³), where r is the radius of the sphere.
2. I donāt know the radius of the moon in metres.
So, my task now is to come up with an estimate of the moonās radius. Full disclosure here: I am not looking up any resources and am coming up with estimates purely based off my own knowledge; so cut me some slack as you read along.
I know that the moon is smaller than the Earth. Let me assume that the moon is one-third the size of the Earth.
But then, I donāt know how big the Earth is. What I do know is a continent on Earth is a few thousand kilometres long. Let me assume that the Earthās diameter is the length of 5 continents side-by-side.
If one continent is 5000 kilometres long, the Earthās diameter would be 25000 kilometres long. Consequently, its radius would be 12500 kilometres long. Converting this to metres, the volume of the Earth would be is as follows:
Estimated volume of the Earth = (4/3)*Ļ * (12500 * 10Ā³)Ā³ cubic metres
The moonās volume (based on my assumption) would be around one-third of this value:
My Fermi estimate of the moonās volume = (4/9)*Ļ*(12500 * 10Ā³)Ā³ cubic metres = 2.727 * 10Ā²Ā¹ cubic metres.
Now comes the moment of truth! I searched for the size of the moon, and this is the result that I got:
Information courtesy of NASA ā Screenshot made by the author
So, the actual answer turns out to be roughly equal to 1.103*10Ā¹ā¹ cubic metres.
As you can clearly see, I messed up on my attempt the keep the error within one order of magnitude (my estimate was off by two orders of magnitude).
But hereās the thing. I came pretty darn close to the actual answer than I really thought I would come. I was correct in my estimation about the size of the moon in relation to that of the Earth.
But my estimation of Earthās diameter was off by a factor of 2. Since the radius is cubed in the sphereās volume calculation, my error got amplified in the end. With more experience, I or you would be able to make better and better Fermi estimates.
Final Comments
To round up, here is the step-by-step algorithm to come up with Fermi estimates for Fermi problems:
1. Break the problem down into two sets of variables: one with known numbers and one with estimates of unknown numbers.
2. Compute the Fermi estimate by performing one step (between two variables) at a time.
3. The variables are usually related by their units (like kilometre/hour), so pay attention to units and their relationships.
While we are on the topic of units, here is the ace in the sleeve when it comes to Fermi problems. You can transform ANY estimation problem into a Fermi problem by manipulating units.
The deciding conditions, then, are your final precision requirement (for the estimate) and your lack of knowledge (estimates). For instance, 1 kilometre is equal to 10Ā¹Ā² nanometres.
Another tip for getting good at Fermi estimates is to memorise āLandmark Numbersā. Examples of these could be the diameter of the Earth (I would have profited from this knowledge), the height of the Eiffel tower, the speed of light, etc.
When you have access to such landmark numbers, you can manoeuvre around them to get to more and more accurate/useful Fermi estimates.
How many fish are there in Earthās oceans ā Illustrative art created by the author
Now, I urge you to pick up an example Fermi problem from the list and give it a try on your own. For your convenience, here is the example list of Fermi problems once again:
1. What is the volume of the moon in cubic metres?
2. How many kilograms of onion does the city of Sydney, Australia consume in a year?
3. Between two blinks of your eye, how far does light travel in a vacuum?
4. How many blades of grass does a football field contain?
5. What is the mass in grams of an average mature tree?
Post your Fermi estimate in the comments section and also include the precise answer (if you managed to compute or find it) so that readers can see how close you got. All the best!
If youād like to get notified when interesting content gets published here, consider subscribing.
We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking āAcceptā, you consent to the use of ALL the cookies.
This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.
Cookie
Duration
Description
cookielawinfo-checkbox-advertisement
1 year
Set by the GDPR Cookie Consent plugin, this cookie is used to record the user consent for the cookies in the "Advertisement" category .
cookielawinfo-checkbox-analytics
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".
cookielawinfo-checkbox-functional
11 months
The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
cookielawinfo-checkbox-necessary
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
cookielawinfo-checkbox-others
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.
cookielawinfo-checkbox-performance
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".
CookieLawInfoConsent
1 year
Records the default button state of the corresponding category & the status of CCPA. It works only in coordination with the primary cookie.
viewed_cookie_policy
11 months
The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.
Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.
Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
Cookie
Duration
Description
_gat
1 minute
This cookie is installed by Google Universal Analytics to restrain request rate and thus limit the collection of data on high traffic sites.
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
Cookie
Duration
Description
__gads
1 year 24 days
The __gads cookie, set by Google, is stored under DoubleClick domain and tracks the number of times users see an advert, measures the success of the campaign and calculates its revenue. This cookie can only be read from the domain they are set on and will not track any data while browsing through other sites.
_ga
2 years
The _ga cookie, installed by Google Analytics, calculates visitor, session and campaign data and also keeps track of site usage for the site's analytics report. The cookie stores information anonymously and assigns a randomly generated number to recognize unique visitors.
_ga_R5WSNS3HKS
2 years
This cookie is installed by Google Analytics.
_gat_gtag_UA_131795354_1
1 minute
Set by Google to distinguish users.
_gid
1 day
Installed by Google Analytics, _gid cookie stores information on how visitors use a website, while also creating an analytics report of the website's performance. Some of the data that are collected include the number of visitors, their source, and the pages they visit anonymously.
CONSENT
2 years
YouTube sets this cookie via embedded youtube-videos and registers anonymous statistical data.
Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.
Cookie
Duration
Description
IDE
1 year 24 days
Google DoubleClick IDE cookies are used to store information about how the user uses the website to present them with relevant ads and according to the user profile.
test_cookie
15 minutes
The test_cookie is set by doubleclick.net and is used to determine if the user's browser supports cookies.
VISITOR_INFO1_LIVE
5 months 27 days
A cookie set by YouTube to measure bandwidth that determines whether the user gets the new or old player interface.
YSC
session
YSC cookie is set by Youtube and is used to track the views of embedded videos on Youtube pages.
yt-remote-connected-devices
never
YouTube sets this cookie to store the video preferences of the user using embedded YouTube video.
yt-remote-device-id
never
YouTube sets this cookie to store the video preferences of the user using embedded YouTube video.
Comments