Understanding Price Effect And Quantity Effect in Practice
When a price moves, the quantity you buy doesn't just shift for one reason. Two separate mechanisms kick in at the same time. That's what economists call the Price Effect And Quantity Effect decomposition. You split the total change into a substitution effect and an income effect, and then figure out which one is pulling harder. I spent a few years working on pricing models for a mid-market retail chain. The data kept lying to us. We'd drop a price on a product and watch sales climb, then assume it was pure elasticity. It wasn't. Half the movement came from consumers re-routing their spending away from alternatives. The other half came from them feeling richer at the new price and buying more of everything. Confusing those two led us to over-rollback a promotion by about 12 percent and eat the margin loss for three months straight. The substitution effect is the mechanical pivot. When good A gets cheaper relative to good B, you swap toward A even if your real purchasing power stays identical. The income effect is the wealth channel. A lower price gives you the same utility for less spend, which effectively raises your real income, and you respond to that extra buying power based on whether the good is normal or inferior.
Here's the part nobody stresses enough: these two effects can fight each other. A price drop on an inferior good means the substitution effect pushes quantity up while the income effect pulls it down. In rare cases the income effect wins, and you get a Giffen response where quantity actually falls when price falls. Most students memorize the diagram and miss how often it shows up in thin markets. Slutsky versus Hicks matters here. Slutsky keeps real purchasing power constant by asking what bundle you could afford at the old prices after the price change. Hicks keeps utility constant instead. For most everyday goods the numbers land in the same neighborhood. For durable goods with significant wealth effects across periods, they diverge noticeably. I default to Slutsky for short-run retail pricing because it aligns better with what consumers actually budget across weeks. Hicks is cleaner for theoretical work. The calculation itself is straightforward if you have the right data. Start with an observed demand curve or a choice dataset. Move the price from P1 to P2. Measure the total change in quantity. Then reconstruct the intermediate bundle: for Slutsky, find the income level that lets the consumer afford the original bundle at the new price. Plot quantity at that intermediate point to isolate the substitution effect. The remaining movement to the new equilibrium is the income effect.
If you're working with discrete choice data rather than a smooth demand curve, you can approximate this with a random coefficients logit. Estimate the indirect utility parameters, hold utility constant at the pre-change level, and solve for the compensating variation in income. That gives you the Hicksian substitution effect directly. It takes longer to set up but avoids the linear approximation errors that creep in when demand is lumpy. I ran into a nasty edge case once with a private-label coffee brand. The price cut triggered a substitution effect, sure, but the income effect was negative because the product sat in a category where consumers associated lower price with lower quality. The net quantity response was weak, and the model predicted a far bigger lift than the actual test delivered. The fix was to add a perceived-quality signal into the utility function rather than treating price as a pure cost variable. Quantity rose appropriately once that factor got weighted correctly. It saved us from running a promotion that would have trained the channel to expect deep discounting permanently. There are hard limits to this framework. It assumes stable preferences and separable utility, which breaks down when habits, loyalty programs, or reference pricing dominate the decision. Subscription goods with lock-in periods especially violate the standard decomposition because the effective price path isn't a one-shot change. The income effect in those cases folds into switching costs instead of pure purchasing power.
Get the Full Details

Another practical snag: estimation error compounds fast when you try to back out both effects from observational data alone. Price changes in the wild come bundled with seasonality, competitor moves, and shelf placement shifts. Unless you have a clean natural experiment or a randomized promotion, your decomposition will carry wide confidence intervals. Don't present point estimates as fact. Report the range. If you want a hands-on reference, the original treatment is in Varian's Microeconomic Analysis, and the computational angle is covered in Berry, Levinsohn, and Pakes style structural estimation. I also keep a short notebook in Julia that automates the Slutsky decomposition from a set of estimated demand parameters. It takes about ten minutes to run once you've got the elasticity matrix. Happy to share the script if anyone needs it, though it's written for a specific product category and will need adaptation for yours. The takeaway is simple enough to state badly and easy to get wrong in practice. A price change does not move quantity through one lever. It moves it through two, and they can reinforce or oppose each other depending on the good and the time horizon. Check which decomposition fits your context, flag the cases where preferences aren't stable, and don't let a clean graph convince you the world is that tidy.