Estimation framework graphic
Estimation

Estimation

A framework to estimate systematically, breaking down the problem into components, making reasonable analogies and approximations to arrive at an estimate.

About

Estimation interview questions are about making back-of-the-envelope estimates. They test whether you can break down the problem into smaller parts, use general world knowledge to make assumptions and provide approximations.

Evaluation

In estimation interview questions, interviewers evaluate your problem-solving and quantitative skills. They are looking for a ballpark number, not an accurate number. What matters is whether you are logical, can explain all your assumptions clearly, are organized in your work, and are good with numbers.

Estimation Framework

There are two frameworks that you can use to make estimations. The first framework starts with a top-level equation that breaks down into components that you estimate and then aggregate. The second framework begins with an intermediate value you know about and combines it with other components to arrive at the result. Use the framework that comes more naturally to you.

Framework #1

Start with a top-level equation that breaks down into components you estimate and then aggregate.

Ask Clarifying Questions

Ask questions to clarify what data you should include in your calculations.

Write an Equation

Think of one or more equations you can use to estimate the value they are asking for. Pick the equation where you have more information to calculate the total.

Break Down the Equation

Decompose the equation into sub-components that are easier to estimate. Estimate the value of each sub-component based on general knowledge of the world or by using proxy data (e.g., If you need to calculate the weight of a steel log, you could think of a log of firewood you carried last winter, which you know weighs about 10 lbs. So you could guess that the steel log may weigh 50 x the firewood.)

Do the Math

Aggregate the component’s estimates in the top equation to arrive at the final result.

Do a Sanity Check

Do your results make sense? If not, recheck your equation, assumptions, and arithmetic.

Framework #1: Example Question

How many Youtube videos are uploaded per day?

Ask Clarifying Question

Is the estimate for the US or the world? (Assume US)

Write an Equation

One equation is #people that upload videos x #videos per person.

Break Down the Equation

Break down the equation into components.

Creators upload more videos than non-creators. In general, when creating content in any medium, more people consume than create. I assume that the number of creators is an order of magnitude greater than consumers. It is a reasonable assumption. Wikipedia has this ratio, too, between creators and readers.

Then expanding my equation into the relevant components, I have:

  • #creators x #videos/creator
  • 10% x people that can upload videos x #videos/creator

Do the Math

I assume that people who upload videos are anyone between the age of 20 and 65. 20 because it is above 18, the legal age of consent. And 65 because, at that age, most people are retired and probably less tech-oriented. The number of people between 20 and 65 years old in the US is about 45/80 or 0.6 of the entire US population. I am using 80 as the max lifetime in years. So the #creators boil down to 10% x 0.6 x 300M. I am using 300M instead of the actual 330M US population to round numbers. Therefore the number of creators is 17M.

Creating and uploading videos takes time because it requires recording and editing. From my experience of creating and uploading videos, a creator may upload between 1 video a day and 1 video a week (0.1 a day). I will use a mid-value of 0.5 for a ballpark estimation.

Thus the final number of videos per day is #creators x #videos/creator per day = 17M x 0.5 = 8.5M a day or 8M to round down.

Do a Sanity Check

To understand whether this number is reasonable, I want to check how much time one creator would spend uploading videos in a day. I estimated that there are 17M creators in the US. I assume the average video on Youtube is 20 minutes long, and I know that a 20-minute 4K video takes about 20 minutes to upload. Since I estimated 8M videos per day, it would take a total of (17M x 8M x 20) 2720M minutes in a day to upload them. Diving 2720M minutes by 17M creators results in 160 minutes per creator, about 3 hours per day. This number seems high since it represents almost half of a creator’s workday 2 hours seems more reasonable. So I think my estimate for the number of videos uploaded daily must be closer to 4M, half of 8M.

Framework #2

Estimate an Intermediate Component

Begin with an intermediate value you know about and combine it with other components to arrive at the result. For example, if the question were to “estimate the number of piano tuners in Chicago”, then the intermediate value could be the number of pianos in Chicago. You can reason that some family households have a piano and that you x fraction of families have a piano. And based on your social life connections, out of 10 friends, one has a piano in his household.

List Things You Need to Know

For example, you need to know the number of hours it takes to tune one piano. And the number of hours a tuner works per year. And together with the number of pianos in Chicago, you can derive the number of piano tuners in Chicago.

Make Calculations

Assuming a piano is tuned once a year, then you could divide the total number of hours that all the pianos in Chicago need per year by the number of hours per tuner to estimate the number of tuners in Chicago.

Do a Sanity Check

Do your results make sense? If not, recheck your equation, assumptions, and arithmetic.

Framework #2: Example Question

Find a detailed solution to this example in the article “How to Solve Google’s Crazy Open-Ended Interview Questions.”