# Market Sizing Drills: [Your name, drill set, date]

> A workbook of 12 original market sizing drills for consulting and strategy interviews, with top-down and bottom-up
> methods, computed answers, sanity checks and Excel formulas you can rebuild in a practice sheet. It is for MBA
> students preparing for case interviews and for anyone who has to estimate a market quickly and defend the logic.
> Source basis: the logic of Fermi estimation, Little's law (Little 1961) for capacity drills, and research on
> deliberate and retrieval practice, written in our own words. Every number in the drills is an assumption chosen for
> practice, set in a fictional "Country A"; none is a real market statistic. Replace every [bracketed] value and every
> row marked *Example*. This is a preparation aid, not market research.

<!--
Guidance: How to use this template
- Read sections 1 to 4 once. Then do the drills in section 5 aloud with a timer (3 to 5 minutes each) before reading the answer.
- Write your own assumptions first. The answer key shows one defensible path, not the only one; your number may differ if your logic is sound and your assumptions are reasonable.
- Rebuild each drill in a spreadsheet with one input per cell so you can run sensitivities (section 6).
- Log every drill in mba/mba-case-practice-log, using the "Quantitative work" and "Structuring" rows of the rubric.
- Related templates: mba/mba-case-interview-prep, mba/mba-case-practice-log, mba/mba-fit-stories, mba/mba-recruiting-plan, mba/pre-mba-quant-refresher, mba/pre-mba-excel-modeling-drills, mba/mba-product-interview-prep, academic/stats-learning-roadmap
-->

## Document control

<!-- Guidance: Keep one copy per drill round so you can compare time and accuracy across weeks. -->

| Field | Value |
|---|---|
| Document ID | [MSD-2026-01] |
| Candidate | [Your name] |
| Drill round | [Round 1, week T-9] |
| Practice partner | [Name] |
| Timer per drill | [4 minutes] |
| Reviewed by | [Case coach or second-year mentor] |
| Last updated | YYYY-MM-DD |
| Version | [0.1] |

## Contents

1. What market sizing tests
2. Top-down and bottom-up methods
3. A five-step routine
4. Sanity checks
5. The 12 drills
6. Sensitivity and ranges
7. Your drill log
8. Common mistakes
9. Self-test

## 1. What market sizing tests

<!-- Guidance: Remember that the interviewer scores the logic and the communication, not closeness to a "true" number they usually do not know either. -->

A market sizing question asks you to estimate a quantity you cannot look up in the room: annual sales of a product,
the number of machines a site needs, the revenue of a single store. Physicist Enrico Fermi was known for posing such
questions to students, and they are often called Fermi problems. Interviewers use them because they reveal, in a few
minutes, whether you can break an unfamiliar quantity into parts you can reason about, state assumptions clearly,
calculate accurately aloud and judge whether the result is plausible.

Market sizing appears in three forms: as a stand-alone short question, as one step inside a larger case (for
example "how big is the opportunity?" in a market entry case), or as a written exercise in an online assessment. The
same routine works for all three.

| Skill | What a strong answer shows |
|---|---|
| Definition | You clarify what is counted: units or value, which geography, which year, new purchases or the installed base |
| Decomposition | A logic tree with few, independent factors that multiply or add |
| Assumptions | Round, defensible numbers, stated and justified in one phrase each |
| Arithmetic | Clean multiplication with units and zeros under control |
| Judgement | A sanity check against something known, and a comment on the most uncertain assumption |

## 2. Top-down and bottom-up methods

<!-- Guidance: Pick the method that uses the assumptions you can defend best. When time allows, do both and compare (drill D12). -->

**Top-down** starts from a large population and narrows it with shares and rates until you reach the target
quantity: people, then the share who use the product, then purchases per year, then price. It is fast and works
well for consumer products.

$$\text{Market value} = N \times s_1 \times s_2 \times \dots \times f \times p$$

**Bottom-up** starts from a unit you can picture (one store, one machine, one sales rep) and scales up: customers
per hour, conversion, basket size, opening hours. It is better for capacity questions, B2B markets and the revenue of
a single business, because each factor is observable.

$$\text{Revenue of one unit} = \text{traffic} \times \text{conversion} \times \text{average ticket} \times \text{periods}$$

| Symbol | Meaning |
|---|---|
| $N$ | Starting population (people, households, firms, sites) |
| $s_1, s_2$ | Shares that narrow the population (for example share who hike, share who buy new) |
| $f$ | Purchase frequency per year (or the inverse of the replacement cycle in years) |
| $p$ | Average price per unit |

```mermaid
flowchart TD
  Q["Estimate requested"] --> D["Define: units or value, geography, year, flow or stock"]
  D --> M{"Which inputs can I defend best?"}
  M -- "Population and shares" --> T["Top-down: population, shares, frequency, price"]
  M -- "A unit I can observe" --> B["Bottom-up: traffic, conversion, ticket, periods"]
  T --> C["Calculate aloud with units"]
  B --> C
  C --> S["Sanity check against a known benchmark"]
  S --> R["State the answer, the key assumption and a range"]
```

**Stock versus flow.** Be explicit about whether you are counting a stock (the number of tents people own) or a flow
(tents sold per year). Converting one into the other needs a replacement cycle or a lifetime: annual sales are
approximately the stock divided by the product's life in years, plus growth.

## 3. A five-step routine

<!-- Guidance: Say each step aloud. Silence while you think is fine if you announce it: "Let me take 30 seconds to structure this." -->

1. **Clarify.** "Do you want annual sales in units or value? New purchases only? For Country A?"
2. **Structure.** Draw the tree before any number. Show it to the interviewer.
3. **Assume.** Give round numbers with one-phrase justifications ("about one in five adults hikes a few times a year").
   Segment where it matters (urban and rural, frequent and occasional users).
4. **Calculate.** Multiply in an order that keeps numbers simple; write units on every line.
5. **Check and conclude.** Compare with a benchmark, name the most uncertain assumption, give a range, and say what the
   number means for the case.

## 4. Sanity checks

<!-- Guidance: Use at least one sanity check per drill. An interviewer will often ask "does that sound right?" to see whether you check your own work. -->

| Check | How it works | Example |
|---|---|---|
| Per-capita check | Divide the market by the population | USD 480m of hiking boots in a country of 60m is USD 8 a person a year: plausible for a niche category |
| Physical capacity check | Can the units be produced, served or stored in the time available? | 18 MRI scans per scanner per day fits in 16 opening hours at 45 minutes each |
| Share of wallet check | Compare spending with income or with a related category | Running shoes at about USD 25 per adult a year is a small share of clothing and footwear spending |
| Triangulation | Estimate the same number two ways | Top-down and bottom-up tent estimates within 7% of each other |
| Order of magnitude | Is the answer within a factor of 10 of a number you know? | A city's parcel volume should be in the hundreds of thousands per day, not millions per hour |

## 5. The 12 drills

<!-- Guidance: Cover the answer, solve aloud, then compare. Every input below is a drill assumption in a fictional Country A, chosen to give round arithmetic. Excel formulas use the values directly so you can check them; in your own sheet put each input in its own cell. -->

Fictional setting for all drills: **Country A** has 60m people, 48m adults and 24m households; about 2.0m new cars are
sold there a year. These are drill assumptions, not facts about any real country. Company settings (Northfield
Outdoor Co., Corvane Robotics, Tallow Creek Medical Center) are fictional.

### D01. Hiking boots sold in Country A per year (top-down, units and value)

| Step | Assumption | Result |
|---|---|---|
| Population | 60m | 60m |
| Share who hike regularly | 20% | 12m hikers |
| Replacement cycle | one pair every 3 years | 4.0m pairs a year |
| Average price | USD 120 | USD 480m a year |

Excel: `=60000000*20%/3` returns 4,000,000 pairs; `=60000000*20%/3*120` returns 480,000,000.
Sanity check: USD 8 per person a year (`=480000000/60000000`). The most uncertain input is the share of regular
hikers; casual buyers of light hiking shoes are excluded by definition and would be a second segment.

### D02. Annual revenue of one Northfield store (bottom-up)

| Step | Assumption | Result |
|---|---|---|
| Visitors per hour | 40 | |
| Opening hours per day | 12 | 480 visitors a day |
| Trading days | 360 | 172,800 visitors a year |
| Conversion | 25% | 43,200 transactions |
| Average basket | USD 70 | USD 3.02m a year |

Excel: `=40*12*360*25%*70` returns 3,024,000.
Sanity check: USD 8,400 a day (`=40*12*25%*70`), about 10 transactions an hour at USD 70: plausible for a mid-size
specialist store. A stronger answer splits weekdays and weekends, since traffic differs.

### D03. Addressable market for warehouse robots in Country A (top-down, B2B)

| Step | Assumption | Result |
|---|---|---|
| Warehouses over 10,000 square metres | 4,000 | |
| Share automating within 5 years | 30% | 1,200 sites |
| Robots per site | 50 | 60,000 robots |
| Price per robot | USD 40,000 | USD 2.4bn over 5 years |

Excel: `=4000*30%*50*40000` returns 2,400,000,000; per year over 5 years `=4000*30%*50*40000/5` returns 480,000,000.
Sanity check: about USD 2m of robots per adopting site (`=50*40000`), which should be compared with the labour cost the
robots replace. For Corvane Robotics, this is the addressable market, not its expected revenue: share and timing come
next.

### D04. Robots needed in one Corvane customer warehouse (bottom-up, capacity)

| Step | Assumption | Result |
|---|---|---|
| Orders per day | 40,000 | |
| Lines per order | 3 | 120,000 picks a day |
| Picks per robot per hour | 120 | |
| Operating hours per day | 20 | 2,400 picks per robot per day at full use |
| Utilisation | 85% | 2,040 effective picks per robot per day |
| Robots required | | 58.8, round up to 59 |

Excel: `=ROUNDUP(40000*3/(120*20*85%),0)` returns 59.
Sanity check: capacity questions must round up, and peaks matter more than averages. If the peak day is 1.5 times the
average, the answer changes materially: ask about seasonality.

### D05. MRI scans per year at Tallow Creek Medical Center (bottom-up, capacity)

| Step | Assumption | Result |
|---|---|---|
| Scanners | 2 | |
| Operating hours per day | 16 | |
| Minutes per scan, including changeover | 45 | 21.3 slots per scanner per day |
| Days a year | 360 | |
| Utilisation | 85% | 13,056 scans a year |

Excel: `=2*16*60/45*360*85%` returns 13,056.
Sanity check: about 18 scans per scanner per day (`=16*60/45*85%` returns 18.13). Utilisation below 100% reflects
no-shows, emergencies and maintenance.

### D06. Coffee cups bought per day on a university campus (top-down)

| Step | Assumption | Result |
|---|---|---|
| Students and staff | 25,000 | |
| Share on campus on a typical day | 70% | 17,500 |
| Share who drink coffee | 50% | 8,750 |
| Cups per drinker per day | 1.4 | 12,250 |
| Share bought on campus (not brought from home) | 60% | 7,350 cups a day |

Excel: `=25000*70%*50%*1.4*60%` returns 7,350.
Sanity check: 0.42 cups per person present (`=7350/17500`). With perhaps 10 to 15 outlets, that is about 490 to 735 cups each
a day, a busy but feasible level.

### D07. EV home chargers installed in Country A per year (top-down from new car sales)

| Step | Assumption | Result |
|---|---|---|
| New cars sold a year | 2.0m | |
| Electric share of new cars | 20% | 400,000 EVs |
| Buyers with off-street parking | 60% | 240,000 |
| Share who install a home charger | 80% | 192,000 chargers |
| Price including installation | USD 1,200 | USD 230.4m a year |

Excel: `=2000000*20%*60%*80%` returns 192,000; `=2000000*20%*60%*80%*1200` returns 230,400,000.
Sanity check: the flow is driven by new EV sales; replacements of existing chargers are excluded and would add a
second, smaller segment. Section 6 runs a sensitivity on this drill.

### D08. Revenue of a ski rental shop in one resort (bottom-up)

| Step | Assumption | Result |
|---|---|---|
| Season length | 120 days | |
| Skiers on the mountain per day | 3,000 | 360,000 skier-days |
| Share who rent equipment | 30% | 108,000 rental-days |
| This shop's share of rentals | 15% | 16,200 rental-days |
| Price per rental-day | USD 45 | USD 729,000 a season |

Excel: `=120*3000*30%*15%*45` returns 729,000.
Sanity check: 135 rentals a day on average (`=16200/120`), which one shop with a few fitting stations can serve.

### D09. Hospital beds needed for a region (Little's law)

Little's law (Little 1961) states that, in a stable system, the average number of items in the system equals the
arrival rate times the average time each item spends in it: $L = \lambda W$. For beds, $L$ is the average number of
occupied beds, $\lambda$ the admissions per day and $W$ the average length of stay.

| Step | Assumption | Result |
|---|---|---|
| Regional population | 800,000 | |
| Admissions per 1,000 people a year | 120 | 96,000 admissions a year |
| Average length of stay | 4.5 days | 1,183.6 beds occupied on average |
| Target occupancy | 85% | 1,392.4 beds, round up to 1,393 |

Excel: `=800000*120/1000*4.5/365` returns 1,183.56; `=ROUNDUP(800000*120/1000*4.5/365/85%,0)` returns 1,393.
Sanity check: about 1.7 beds per 1,000 people (`=1393/800`). Target occupancy below 100% leaves room for variability;
queueing theory shows that waiting time rises steeply as utilisation approaches 100%.

### D10. Spending on running shoes in Country A (top-down)

| Step | Assumption | Result |
|---|---|---|
| Adults | 48m | |
| Share who run at least weekly | 15% | 7.2m runners |
| Pairs per runner per year | 1.5 | 10.8m pairs |
| Average price | USD 110 | USD 1.19bn a year |

Excel: `=48000000*15%*1.5*110` returns 1,188,000,000.
Sanity check: about USD 25 per adult a year (`=1188000000/48000000` returns 24.75). Shoes bought for fashion rather
than running are excluded by definition; say so.

### D11. Delivery vans needed in a city of 2m people (bottom-up from parcel demand)

| Step | Assumption | Result |
|---|---|---|
| Population | 2.0m | |
| Parcels per person a year | 60 | 120m parcels a year |
| Delivery days a year | 300 | 400,000 parcels a day |
| Stops per van per day | 150 | |
| Parcels per stop | 1.25 | 187.5 parcels per van per day |
| Vans needed | | 2,133.3, round up to 2,134 |

Excel: `=2000000*60/300` returns 400,000; `=ROUNDUP(2000000*60/300/(150*1.25),0)` returns 2,134.
Sanity check: about 1.15 parcels per person a week (`=60/52`). Peak season would need more vans; the answer is an
average-day fleet.

### D12. Tents sold in Country A per year (top-down and bottom-up, triangulated)

**Top-down**

| Step | Assumption | Result |
|---|---|---|
| Households | 24m | |
| Share that camp with a tent | 12% | 2.88m households |
| Tent life | 6 years | 480,000 tents a year |
| Average price | USD 250 | USD 120m a year |

**Bottom-up**

| Step | Assumption | Result |
|---|---|---|
| Stores selling tents | 1,600 | |
| Tents per store per week | 4 | |
| Weeks a year | 52 | 332,800 tents in stores |
| Online share of tent sales | 35% | total 512,000 tents |
| Average price | USD 250 | USD 128m a year |

Excel: top-down `=24000000*12%/6` returns 480,000; bottom-up `=1600*4*52/(1-35%)` returns 512,000; gap
`=512000/480000-1` returns 6.7%.
Sanity check: the two methods agree within 7%, which supports a market of about USD 120m to USD 130m. If they had
differed by a factor of two, the right response is to find the assumption that drives the gap, not to average.

**Summary of drill answers**

| Drill | Method | Answer |
|---|---|---|
| D01 | Top-down | 4.0m pairs, USD 480m a year |
| D02 | Bottom-up | USD 3.02m a year |
| D03 | Top-down, B2B | 60,000 robots, USD 2.4bn over 5 years |
| D04 | Bottom-up, capacity | 59 robots |
| D05 | Bottom-up, capacity | 13,056 scans a year |
| D06 | Top-down | 7,350 cups a day |
| D07 | Top-down | 192,000 chargers, USD 230.4m a year |
| D08 | Bottom-up | USD 729,000 a season |
| D09 | Little's law | 1,393 beds |
| D10 | Top-down | 10.8m pairs, USD 1.19bn a year |
| D11 | Bottom-up | 2,134 vans |
| D12 | Both | 480,000 to 512,000 tents, USD 120m to USD 128m |

## 6. Sensitivity and ranges

<!-- Guidance: Give a range, not just a point estimate, and name the assumption that moves the answer most. That is what a client needs to know before acting. -->

A point estimate built from four multiplied assumptions carries the uncertainty of all four. Change one input at a
time between a low and a high value to see which matters most; the result is often drawn as a tornado chart. For
D07, with the base case at 192,000 chargers a year:

| Input | Low | High | Chargers at low | Chargers at high | Swing |
|---|---|---|---|---|---|
| New cars sold | 1.8m | 2.2m | 172,800 | 211,200 | 38,400 |
| EV share | 15% | 25% | 144,000 | 240,000 | 96,000 |
| Off-street parking | 50% | 70% | 160,000 | 224,000 | 64,000 |
| Install share | 70% | 90% | 168,000 | 216,000 | 48,000 |

The EV share drives the answer most, so that is the assumption to research first. Setting every input to its low or
high value at once gives 94,500 to 346,500, a range so wide that it overstates the uncertainty, because all inputs are
unlikely to be extreme together. Excel: put the inputs in B2:B5 and use `=PRODUCT(B2:B5)`; a one-variable data table
(What-If Analysis) runs the low and high cases.

```vega-lite
{
  "$schema": "https://vega.github.io/schema/vega-lite/v5.json",
  "description": "D07 one-at-a-time sensitivity, EV home chargers per year (drill assumptions)",
  "width": "container",
  "height": 180,
  "data": {
    "values": [
      {"input": "EV share", "low": 144000, "high": 240000, "rank": 1},
      {"input": "Off-street parking", "low": 160000, "high": 224000, "rank": 2},
      {"input": "Install share", "low": 168000, "high": 216000, "rank": 3},
      {"input": "New cars sold", "low": 172800, "high": 211200, "rank": 4}
    ]
  },
  "layer": [
    {
      "mark": {"type": "bar", "color": "#4a6fa5"},
      "encoding": {
        "y": {"field": "input", "type": "nominal", "sort": {"field": "rank"}, "title": null},
        "x": {"field": "low", "type": "quantitative", "title": "Chargers per year", "scale": {"domain": [120000, 260000]}},
        "x2": {"field": "high"}
      }
    },
    {
      "mark": {"type": "rule", "color": "#333333", "strokeDash": [4, 3]},
      "encoding": {"x": {"datum": 192000}}
    }
  ]
}
```

## 7. Your drill log

<!-- Guidance: Log time and the first assumption you would challenge. After 20 drills, sort by time and redo the five slowest. -->

| Drill ID | Date | Question (own words) | Method | My answer | Reference answer | Time (min) | Weakest step | Retry date |
|---|---|---|---|---|---|---|---|---|
| D01 *(Example)* | 2026-09-02 | Hiking boots, Country A | Top-down | USD 360m | USD 480m | 4.5 | Assumed 4-year replacement without saying why | 2026-09-09 |
| D09 *(Example)* | 2026-09-03 | Beds for a region | Little's law | 1,184 beds | 1,393 beds | 6.0 | Forgot the occupancy buffer | 2026-09-10 |
| [D13] | YYYY-MM-DD | [ ] | [ ] | [ ] | [ ] | [ ] | [ ] | YYYY-MM-DD |

**Write your own drills.** Pick a product or service you see this week, write the question, solve it, then ask a
partner to solve it independently and compare trees. Good sources of ideas: Northfield's product lines, Corvane's
customers, Tallow Creek's departments.

## 8. Common mistakes

<!-- Guidance: Most errors are definitional, not arithmetic. Fix the definition before you fix the math. -->

1. Starting to multiply before defining units, geography, time period and whether the answer is a stock or a flow.
2. Using the whole population when only a segment buys (counting children for running shoes, for example).
3. Forgetting purchase frequency or replacement cycle, which turns a stock into a wrong flow.
4. Using precise-looking assumptions (17.3%) that suggest false accuracy and slow the arithmetic.
5. Losing zeros between thousands, millions and billions.
6. Rounding capacity answers down; robots, beds and vans must be rounded up.
7. Planning capacity for the average day and ignoring peaks.
8. Skipping the sanity check, or not responding when it fails.
9. Averaging two very different estimates instead of finding the assumption that causes the gap.
10. Presenting a single number without naming the most uncertain assumption or a range.
11. Confusing the addressable market with the company's expected revenue.

## 9. Self-test

<!-- Guidance: Solve aloud with a timer, then check the answer key. -->

1. What is the difference between a top-down and a bottom-up estimate, and when is bottom-up the better choice?
2. A product has an installed base of 9m units and lasts 6 years. Roughly how many are sold a year, ignoring growth?
3. State Little's law and name each term.
4. A clinic sees 72 patients a day and each spends 50 minutes on site on average. How many patients are on site on
   average during a 12-hour day?
5. Why should capacity answers be rounded up?
6. In D07, which input would you research first and why?
7. Two estimates of a market differ by a factor of two. What do you do?
8. A café sells 300 cups a day at USD 4, 350 days a year. What is its annual coffee revenue?

## Sources and further reading

<!-- Guidance: Market sizing has no single originator; cite the method logic, and use real data only from named, dated sources when you move from drills to a real project. -->

- Little, J. D. C. (1961). A proof for the queuing formula: L = λW. *Operations Research*, 9(3), 383-387.
- Ericsson, K. A., Krampe, R. T., and Tesch-Römer, C. (1993). The role of deliberate practice in the acquisition of
  expert performance. *Psychological Review*, 100(3), 363-406.
- Dunlosky, J., Rawson, K. A., Marsh, E. J., Nathan, M. J., and Willingham, D. T. (2013). Improving students' learning
  with effective learning techniques. *Psychological Science in the Public Interest*, 14(1), 4-58.
- Further reading (by name only): Lawrence Weinstein and John A. Adam, *Guesstimation*; Victor Cheng, *Case Interview
  Secrets*; Marc Cosentino, *Case in Point*.
- Related templates: mba/mba-case-interview-prep for the full case routine, mba/pre-mba-quant-refresher for arithmetic.

## Answer key

<!-- Guidance: Check the logic first, then the number. -->

1. Top-down narrows a large population with shares, frequency and price; bottom-up scales up from one observable unit
   (store, machine, rep). Bottom-up is better for capacity questions, B2B markets and a single business's revenue,
   where each factor can be observed.
2. About 1.5m a year: `=9000000/6`.
3. $L = \lambda W$: average number in the system equals arrival rate times average time in the system (Little 1961).
4. About 5 patients: arrivals of 6 an hour (`=72/12`) times 50/60 hours gives 5 (`=72/12*50/60`).
5. Because a fraction of a robot, bed or van cannot be bought, and rounding down leaves demand unserved; peaks add
   further need.
6. The EV share of new cars: it produces the largest swing (96,000 chargers between the low and high cases).
7. Find the assumption that drives the gap (often frequency, segment definition or price), test it, and correct the
   weaker method rather than averaging.
8. USD 420,000: `=300*4*350`.

## Revision history

<!-- Guidance: Add a row after each drill round. -->

| Version | Date | Author | Change |
|---|---|---|---|
| 0.1 | YYYY-MM-DD | [Name] | First version from template |
| [0.2] | YYYY-MM-DD | [Name] | [Round 2: own drills D13 to D20 added] |

## Standard and licence note

Based on the general logic of Fermi estimation and on Little's law (Little 1961). The drills, assumptions and
answers are original and set in a fictional country with fictional companies; they are not market data. This template
is not affiliated with or endorsed by any firm or school. Template licence: MIT.
