← All solutions

Dynamic pricing optimization

The same arena can welcome very different audiences on consecutive nights. How many people drive, whether they reserve parking ahead of time, and what they are willing to pay all shape parking revenue. Historical transactions can reveal the first two patterns. Learning the third requires enough variation in price to observe how customers respond.

I was part of a team of four that delivered a dynamic pricing optimization framework for parking at an arena welcoming over 2 million visitors annually across more than 200 events. We started with fragmented source files and created a common data foundation. Then we performed demand analysis by event type and purchase channel. Our main finding: past pricing had been too static to support reliable conclusions about price elasticity. We proposed experiments to collect the evidence needed for future pricing decisions.

Data foundations

The first problem was making the historical record usable. Parking data arrived in messy Excel files rather than a single analytical dataset. Before comparing events, we needed to understand what each file contained, which records belonged together, and whether seemingly similar fields described the same business activity. Otherwise, differences in reporting could easily be mistaken for differences in demand.

The crawler inventoried the source files and their structure. The catalog made that inventory understandable, describing the available data and how it related to the business. This separated the work of discovering and interpreting source material from the work of answering analytical questions.

Standardized business views gave us a consistent basis for comparing events and purchase channels. Parking usage, revenue, and attendance could be brought together under common definitions instead of reconstructed for each chart. Versioning made those definitions and transformations explicit as the analysis evolved, so an updated view could be distinguished from the one used in an earlier result. That groundwork mattered as much as the modeling: an apparent demand signal is only useful if the underlying records are comparable.

From files to a shared foundation

  1. 01 Messy Excel files
  2. 02 Data crawler
  3. 03 Data catalog
  4. 04 Standardized, versioned business views

Inferring demand and price elasticity by event type

We began by separating audience size from parking behavior. Total parking sales reflect attendance, but parking use per attendee reveals how likely a particular audience is to use the facility. Parking revenue per attendee provides a complementary view of the commercial outcome. Examining these measures by event type allowed us to compare events of different sizes and estimate both typical demand and the variance around it.

The historical distributions showed meaningful differences between event categories. Some clustered relatively tightly; others had much wider ranges of parking use and revenue per attendee. Seasonality added another source of variation. Purchase channels also behaved differently: advance bookings accounted for a larger share of activity in some categories, while others relied more heavily on drive-up purchases. Repeated sellouts of an app-based allocation could indicate a channel inventory constraint, rather than a full parking facility. These patterns helped identify where to focus further investigation.

Price elasticity tells us how much bookings rise or fall when parking prices change. We explored that relationship in the historical data, but the lack of past dynamic pricing left too little independent price variation to identify it reliably. Differences between events, booking timing, and inventory limits further complicated the comparison. Demand patterns were observable; statistically defensible conclusions about the effect of price were not. Any preliminary elasticity estimates were hypotheses for testing, not a sufficient basis for setting prices.

Proposed experimental frameworks

The next step was to create the variation the historical record lacked. We proposed two complementary experiments: a focused validation of app-based price sensitivity for sporting events, and randomized price stepping within the advance-booking window. Both were designed to generate new observations linking a deliberate price change to the resulting purchase behavior.

Validate app-based price elasticity

The first framework would compare a reference app-based parking price with a higher test price for a selected sporting-event category. Historical data for this category suggested an app-based price elasticity of about −0.25: a 1% increase in price was associated with only about a 0.25% decline in demand. That preliminary estimate made it a strong candidate for testing whether demand was truly less sensitive to price. The hypothesis was that the increase might reduce bookings only modestly, leaving revenue higher overall. The experiment would test whether that relationship held under controlled price changes. The specific event type and price points remain confidential.

A useful comparison would keep the purchase channel, booking window, and available inventory comparable, and account for differences in event demand. Measuring both bookings and revenue matters: a higher price is commercially useful only if the additional revenue per booking outweighs the volume lost. Looking across channels would also help distinguish customers who stopped buying from those who switched to another purchase route. The experiment would test the direction and size of the response before a broader rollout.

Experiment 01 · App-based price validation

Same price change. Different demand response.

Change in demand

Illustrative demand response for four fictional event types Price increases from zero to twenty percent on the horizontal axis. Demand changes from zero to minus forty percent on the vertical axis. At a ten percent price increase, Type A loses three percent of demand, B loses seven percent, C loses twelve percent, and D loses eighteen percent. The steeper downward lines represent higher price sensitivity. All values are invented.

Change in price

Example demand response to a +10% price increase

Type A−3%Lower sensitivity
Type B−7%Moderate
Type C−12%Elevated
Type D−18%Higher sensitivity

Randomized price stepping

The second framework would vary prices across intervals within an event’s booking window, holding the price constant during each interval and measuring the booking rate at that level. The order of the price levels would be randomized. Simply raising prices as event day approached would leave price coupled with the natural progression of demand, making it difficult to tell whether sales changed because of the price or because customers were closer to attending.

Randomized stepping would create multiple observations within each event, with repeated sequences across events helping separate price response from booking timing. The analysis would compare booking rates at different price levels while accounting for time remaining and available inventory. Over enough observations, percentage changes in sales rates and prices could support more credible elasticity estimates for each event type. One sequence would not settle the question; the value of the framework was a repeatable way to collect the missing evidence.

Experiment 02 · Randomized price stepping

Separate price changes from the demand trend

Relative priceUnderlying demand trend
Randomized price steps over an underlying rise in demand A blue price line moves up and down in planned intervals over the booking window. Behind it, an amber demand curve rises toward event day. The overlay illustrates varying prices independently of the passage of time. Both use separate relative scales with no actual price or demand values.

The lack of past dynamic pricing made reliable statistical conclusions about price elasticity impossible from the available data. We could describe how demand varied, but we could not confidently quantify what a new price would do. The experimental frameworks were therefore the next stage of the work: a means of collecting the price-and-response data needed to make substantially more empirically grounded decisions. The data foundation would make those new observations comparable with the historical record and reusable in subsequent analysis.

Client identity, event types, and commercial data are confidential.