Dynamic Pricing for Restaurants: Should You Try It?
Airlines and rideshares change prices by the hour. Can restaurants? Here's when dynamic pricing works, when it backfires, and a safer way to start.
Dynamic pricing — charging different prices at different times based on demand — can work for restaurants, but only in one direction: down during slow periods. Discounting off-peak hours ("happy hour pricing" scaled up) fills seats you were going to leave empty and reads as a deal. Raising prices during your Friday rush ("surge pricing") recovers a little margin and costs you enormous goodwill; the handful of chains that tested rush-hour markups walked them back within weeks after public backlash. If you're considering dynamic pricing, build it as a structured off-peak discount program, run the math first, and let your POS automate the schedule.
What dynamic pricing actually means in a restaurant
The term covers three very different moves, and lumping them together is how owners get in trouble:
| Approach | What it looks like | Guest reaction |
|---|---|---|
| Off-peak discounting | $2 off entrées 2–5 pm; Tuesday date-night bundle; late-night menu | Feels like a deal. Widely accepted — this is just happy hour logic applied to food |
| Demand-based markups | Higher prices Friday 7 pm than Tuesday 7 pm | Feels like a penalty. High backlash risk, one-star-review fuel |
| Item-level repricing | Prices float with ingredient costs week to week | Invisible if occasional; erodes trust if constant |
Airlines get away with markups because you can't walk to the airline next door. Your guest can. That asymmetry is the whole game: discounts move demand to you; markups move demand away from you.
Why off-peak pricing is the version worth doing
Your rent, insurance, and most of your labor are already paid whether the 3 pm dining room is full or empty. Any check you add during a dead hour only has to cover its food cost to contribute margin. A $16 entrée at 32% food cost sold at $13 during a slow window still contributes about $7.90 toward the fixed costs you were eating anyway.
The catch is cannibalization: some of your off-peak guests would have paid full price at 6:30. If a third of your discounted covers are just full-price guests time-shifting, the discount has to generate enough genuinely new visits to beat that leakage. That break-even is a calculation, not a vibe — the worksheet above lets you plug in your covers by daypart, average check, food cost, and an honest cannibalization guess, and shows whether the program adds or destroys margin.
Takeaway: dynamic pricing that guests love is just yield management on your empty hours. Discount the shoulder, never surge the peak, and measure cannibalization honestly.
How to build a time-based pricing program
1. Find your true dead zones with POS data
Pull covers and sales by hour and by day for the last 8-12 weeks. Most independents find two or three windows doing under 40% of peak volume — typically weekday 2-5 pm, early weeknight dinner, and late night. Those are your candidates; nothing else gets touched. Your POS reports should make this a ten-minute job — using your POS sales data walks through exactly which reports to pull.
2. Discount deliberately, not desperately
Aim for offers that protect your menu's price integrity: a limited off-peak menu, a bundle (app + entrée + drink), or a fixed dollar amount off — rather than a blanket "25% off everything," which trains guests to see your regular prices as inflated. Anchor the program to a name ("Early Table," "Neighbor Hours") so it reads as a standing feature, not a distress signal.
3. Automate the schedule in your POS
Manual price changes at 5 pm on a busy line are how you get wrong checks and comped meals. A modern POS lets you build a second price tier or scheduled menu that switches on and off automatically by daypart. Cobblestone POS handles scheduled menus and happy-hour pricing automatically and — because it's free with no monthly fee — you're not paying $470+/month for the privilege the way you would on a legacy platform. Its reporting then shows you covers and margin by daypart, which is exactly the before/after data this program lives or dies on.
4. Review at 6 weeks against three numbers
Judge the program on: incremental covers in the discounted window (vs. the prior 8-week baseline), total margin dollars in that window (not revenue — margin), and any change in full-price peak covers. If peak covers dipped, you're cannibalizing; tighten the window or the offer.
What about raising prices at peak?
If your Friday 7 pm is turning away parties every week, the honest answers are a reservation deposit for prime slots, a prix fixe that lifts peak check average, or simply repricing your menu across the board — all of which capture the demand without a "surge" label on the check. Quietly charging more for the same burger at 7 pm than at 4 pm is the one version of dynamic pricing guests reliably punish. You built the demand; don't tax it.
Free Off-Peak Pricing Calculator (Excel) - model what time-based discounts do to your weekly revenue and margin before you change a single price.