Background
You manage a snack stand on the UT Austin campus. Each day you set prices for five products — Cola, Lemonade, Water, Ice Cream, and Coffee — and customers purchase based on those prices and the day's market conditions.
Market conditions fall into one of eight contexts determined by temperature (hot / cold), precipitation (rain / no rain), and day type (weekend / weekday). Demand for each product depends jointly on the prices you set and the current context — hot weekends drive very different purchasing patterns than cold rainy weekdays.
The catch: you cannot observe tomorrow's context in advance. You must commit to a single set of prices that will be used regardless of what context is drawn. Your goal is to find the price vector that performs well on average across all contexts.
The Explore–Exploit Tradeoff
You do not know the demand model. To learn it, you have access to a simulation tool that lets you query the market: set a price vector, and the simulator draws a random context from the true distribution and returns noisy demand. This is your exploration phase.
But exploration is costly — each team has a budget of 200 simulation queries in total. Spend too many queries on low-information price points and you won't have enough to refine your estimate. Spend too few and your final prices may be far from optimal. Deciding when to stop exploring and commit to a policy is the core tension this case is designed to surface.
Deliverable
Submit a single price vector: one price per product, applied unconditionally regardless of the context drawn.
| Product | Your Price ($) |
|---|---|
| Cola | — |
| Lemonade | — |
| Water | — |
| Ice Cream | — |
| Coffee | — |
Prices must be between $0 and $30. You may submit up to 5 times in total; your best score is recorded on the leaderboard.
Scoring
Your submission is evaluated over 1,000 market days drawn randomly from the true context distribution (same fixed draw for all teams — no luck involved). Your score is regret:
where Revenueoptimal is the revenue achieved by the best possible fixed price vector over those 1,000 days (computed using the true demand model). Lower regret is better; a regret of 0 means your prices match the optimum exactly.
Note that the optimal benchmark is the best context-agnostic policy — not the omniscient policy that adapts prices to each context. Even the best team cannot achieve zero regret simply by observing context, because you are constrained to a single price vector.
How to Play
- Explore — Use the simulation tool to test price vectors. The system draws a random context and returns noisy demand. Repeat strategically to learn how demand responds to prices across contexts.
- Analyze — Use your simulation history to estimate expected demand and revenue as a function of price. Think about which products are most price-sensitive and whether context matters more for some products than others.
- Commit — Submit your final five prices. Your submission is scored immediately and posted to the leaderboard.
Final Deliverables
Each group must submit the following via Canvas:
1. Analyst Memo (max 3 pages)
Written for a decision-maker. Should include:
- A clear statement of the pricing decision
- Key observations from your exploration phase
- Description of your learning methodology
- How you developed your final policy
You are evaluated on clarity of reasoning and use of data, not on finding a single "correct" answer.
2. Keynote / PowerPoint Presentation
A short presentation summarizing your analysis and recommendation. Focus on:
- The decision problem and problem setup
- The modeling approach, observations, and learning algorithms used or considered
- Your final pricing recommendation
Two groups will be randomly selected during class to present. All groups should be prepared. The presentation assesses your ability to communicate analytical insights clearly, not to showcase technical details.
Tips
- Demand is noisy — run the same prices several times to get a cleaner estimate of expected demand.
- Revenue = price × demand. A higher price isn't always better if it sharply reduces quantity.
- Some products may have very different demand elasticities. Explore each product's price sensitivity independently.
- The optimal price for a context-agnostic policy is a compromise across all eight contexts. Think about how to weight contexts you'll face more often.
- Your exploration budget is finite — plan your queries before you start, not as you go.