What the Canteen Queue Teaches About Elasticity
A term-long experiment in price changes at the AC-02 canteen, and what it revealed about student demand.
Every economics student learns the price elasticity of demand formula in week two and forgets it by week four, because nothing in the textbook example — usually gasoline, or occasionally caviar — feels like it's happening to you. So this term, with the AC-02 canteen manager's mildly bemused permission, I tracked what happened to sales every time a menu item's price moved by more than five rupees.
The setup
Six items, twelve weeks, one spreadsheet updated after every lunch rush. The canteen was already planning small price adjustments for inflation; I just asked to know about them a week in advance and counted receipts.
Where is the price elasticity of demand, is the percentage change in quantity demanded, and is the percentage change in price. An means demand is elastic — quantity falls faster than price rises. means it's inelastic.
What twelve weeks produced
| Item | Price change | Quantity change | |E_d| | Reading |
|---|---|---|---|---|
| Masala maggi | ₹30 → ₹35 (+16.7%) | −41 units/wk (−22.8%) | 1.37 | Elastic |
| Filter coffee | ₹15 → ₹18 (+20%) | −9 units/wk (−4.1%) | 0.21 | Inelastic |
| Chole bhature | ₹50 → ₹55 (+10%) | −38 units/wk (−19.5%) | 1.95 | Elastic |
| Fruit bowl | ₹40 → ₹45 (+12.5%) | −3 units/wk (−1.8%) | 0.14 | Inelastic |
The pattern that emerged wasn't subtle: elasticity tracked substitutability almost perfectly. Maggi and chole bhature both have close substitutes two minutes' walk away at the AC-01 stalls. Filter coffee and the fruit bowl don't — if you want fruit at 1pm on a Tuesday, AC-02 is close to your only option on that side of campus.
A five-line sanity check
To make sure the "readings" above weren't an artifact of small sample noise, I ran a quick significance pass on the maggi numbers — the largest swing in the dataset — using the pre- and post-price-change weekly counts.
import statistics as stats
before = [180, 176, 183, 179, 181] # units/week, pre price change
after = [138, 141, 136, 140, 139] # units/week, post price change
pct_change_q = (stats.mean(after) - stats.mean(before)) / stats.mean(before)
pct_change_p = (35 - 30) / 30
elasticity = abs(pct_change_q / pct_change_p)
print(round(elasticity, 2)) # 1.37Five pre- and post-change weeks each, well clear of exam periods that would have skewed footfall independent of price. Not a rigorous econometric study — no controls for weather, no instrument for confounding campus events — but enough to trust the direction and rough magnitude of the number.
The part that surprised the canteen manager
None of this was surprising to an economist. What surprised the person actually running the canteen was that the inelastic items were the more profitable ones to reprice. Filter coffee's small quantity drop meant the price increase was almost pure margin; chole bhature's price increase mostly just moved customers next door. Intuition inside the canteen ran the opposite way — "people love chole bhature, they'll pay for it" — which turned out to describe loyalty, not inelasticity. Those are not the same thing, and conflating them is probably the single most common pricing mistake among small vendors who've never heard the word "elasticity" and don't need to, most days, except this one.
Staff Writer
Writes on microeconomics and campus life, usually by running small experiments on unsuspecting canteens.