DS 235H — Spring 2026 — Group Project

Case 02 — Contextual Pricing & the Explore–Exploit Tradeoff

UT Austin — McCombs School of Business

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.

Key insight: Because the context is drawn randomly, running the same price vector multiple times lets you average out noise and estimate expected revenue — but only if you're strategic about which prices to try.

Deliverable

Submit a single price vector: one price per product, applied unconditionally regardless of the context drawn.

ProductYour 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:

Regret = Revenueoptimal − Revenueyours

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

  1. 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.
  2. 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.
  3. 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.