Dynamic Pricing automatically adjusts eligible ticket prices using a reusable pricing model. You choose the conditions and percentage adjustments, test the results, and apply the model to an event.
Each event date calculates its own adjustment using the same model. All eligible tickets on that date receive the same percentage adjustment to their base price.
Before you start
- Dynamic Pricing must be enabled for your account. If the menu is missing, contact VBO Support to check feature access and user permissions.
- Set your regular ticket prices first. These are the base prices the model adjusts.
- Decide whether prices should increase, decrease, or both. Test the model before using it on a live event.
1. Create a pricing model
- Go to Events → Event Settings → Dynamic Pricing.
- Select Create New Model.
- Enter a descriptive Model Name and leave Active enabled.
- Choose a Combine Mode and optional increase/decrease caps.
- Select Save to create the model.
- Enable the components you want, then save. Select Edit Tiers beside each enabled component to define its rules.
- Save the tiers, then select Save + Close on the model.
The page breadcrumb may read Setup → Templates → Dynamic Pricing; the menu link is under Events → Event Settings.

Model settings
| Setting | How to use it |
|---|---|
| Active | Enabled by default for a new model. An inactive model does not adjust prices, even when assigned to an event. |
| Model Name | Use 2–100 characters. Choose a name that identifies the model's purpose. |
| Combine Mode | Determines how the enabled components' percentage adjustments work together. The default is Additive. |
| Max Decrease % | Optional cap of 5%–50%, in 5% steps. Blank means no decrease cap; it does not block decreases. |
| Max Increase % | Optional cap of 5%–50%, in 5% steps. Blank means no increase cap. |
| Pricing Components | Enable the signals you want to use and add their tiers. New models start with components off. |
Want prices to increase only? Use only zero or positive tier values in every enabled component. There is no separate Increase Only switch or 0% decrease-cap option. Selecting a 5% decrease cap still permits a decrease of up to 5% when negative adjustments apply.
2. Add component tiers
A tier connects a range of input values to a percentage adjustment. In Edit Tiers, enter From, To, and Value %. Use + Add Tier for additional ranges.
- A positive Value raises the price; a negative Value lowers it; 0 leaves it unchanged for that component.
- For numeric components, a shared boundary belongs to the higher tier; the last tier includes its upper limit. For example, 0–50 at 0% and 50–100 at +10% applies +10% starting at 50% sold.
- Cover the full range you expect to use. A gap contributes 0%; the editor asks for confirmation before saving gaps.
- The tier editor uses percentage adjustments, not fixed dollar amounts.
| Component | What it measures | Setup notes |
|---|---|---|
| Time to Event | Days remaining until the event date and time. | Create ranges for advance sales and the days approaching the event. |
| Ticket Capacity | Percentage of capacity already sold, from 0 to 100. | This is percent sold, not percent remaining. Counts combine general admission, assigned seating, and multi-pass inventory. A zero-capacity date uses 0%. |
| Event Popularity | Event-date page loads (Views). | Uses views, not tickets sold per hour or unique visitors. |
| Time of Day | Current hour on the server clock. | The To hour is excluded. 00:00–08:00 covers midnight through 7:59 a.m. Split a range crossing midnight into two tiers. |
| Day of Week | Current weekday on the server clock. | Both ends are included. Sunday = 1 and Saturday = 7. Use separate tiers for Saturday and Sunday. |
Time zone note: Time-based components use the server clock, rather than automatically converting to your venue's local time. Confirm the timing in the test tool before relying on time-of-day rules.
There is no separate sales-pace input. Ticket Capacity measures cumulative percent sold; Event Popularity measures page loads.
Example: raise the price when half the tickets have sold
This example uses one component, Ticket Capacity, with Additive combine mode and a 20% maximum increase.
| From (% sold) | To (% sold) | Value % |
|---|---|---|
| 0 | 50 | 0 |
| 50 | 100 | 10 |
Below 50% sold, a $40.00 base ticket stays at $40.00. At 50% through 100% sold, it becomes $44.00. The 20% cap is a limit, not an additional adjustment.

3. Test your model
- Return to the Dynamic Pricing model list.
- Open the model's gear/action menu and select Test.
- In Test Pricing Model, enter a base price.
- Move the sliders through the enabled component ranges. Check the matched tier, net adjustment, and adjusted price.
- Test the start and end of each range, any gaps, and combinations that could reach your caps.
For the example above, a $40.00 base price at 100% capacity sold produces $44.00 and a +10.0% net adjustment.

How combine modes work
| Mode | Calculation | Example on a $40 base price |
|---|---|---|
| Additive (sum adjustments) | Adds component percentages. | +10% and +10% = +20%, or $48.00. |
| Multiplicative (stack adjustments) | Multiplies component factors. | 1.10 × 1.10 = 1.21: +21%, or $48.40. |
| Maximum (largest adjustment wins) | Uses the adjustment with the largest absolute value, retaining its sign. | +10% and −15% selects −15%, or $34.00. |
VBO combines the adjustments, applies your caps, and multiplies the base price by the resulting factor. Prices round to the nearest cent. For example, a combined +25% adjustment with a 20% maximum increase stops at +20%.
Sales Simulator: This separate preview covers the 60 days before an event and uses time to event, percent sold, and day of week. It does not replay time of day or page views, so it will not reproduce a model that depends on those signals.
4. Apply the model to an event
- Open Events → Manage Events and choose your event's Event Info action.
- Under Event Details, turn on Enable Dynamic Pricing.
- Select your saved model from the dropdown. Leaving None selected does not apply a model.
- Select Save.
- Preview the event and check an eligible ticket price. If practical, check a box office cart as well.
One model is assigned to the event. Each event date uses its own date, capacity, sold count, and page views to calculate the adjustment.

To stop adjustments, clear Enable Dynamic Pricing on the event and save. You can also deactivate a model, but that affects every event using that model. Changes do not reprice completed orders.
Which tickets are affected?
Dynamic Pricing applies to eligible, nonzero standard ticket prices for general admission, assigned seating, multi-pass, and online-access tickets on the supported checkout path. It can apply online and in standard box office/phone sales.
The following use their own pricing instead:
- Custom Box Office-designated ticket types and manually overridden prices.
- Add-ons, donations, Pay What You Can, bonus tickets, and $0 tickets.
- Pick-a-Show selections and package members using the package price.
- External events. Member/subscriber catalog prices are not adjusted on the ticket list.
A promotional price may still receive the model's adjustment. Test the discounts and ticket types you plan to sell together.
What buyers and staff see
Buyers: The adjusted amount appears as the ticket price. Dynamic Pricing does not add an original-price strikethrough to the public ticket list. An early-bird crossed-out price is a separate feature.
Staff: Supported POS and box office cart lines use a flame for a price above list, a snowflake for below list, and a check mark for the same as list. Hover over the icon for the explanation. Order details can show Dynamic price premium or Dynamic price discount, with the percentage and dollar impact.
Fees and price refreshes
- When Dynamic Pricing increases a ticket price, the service-fee calculation uses the base ticket price. When it decreases a price, the service fee uses the lower sold price.
- Facility fees calculate from the sold price. Your existing settings for who pays fees and whether fees are included still apply.
- If your account has a percentage-based Dynamic Pricing marketplace charge, it applies to the price increase only and is charged to the promoter. Buyers do not see a separate Dynamic Pricing fee line. Check your account's rate with VBO.
Prices are calculated as tickets are displayed or added to the cart, rather than on a nightly schedule. Short caches can delay a visible change: roughly 30 seconds for a calculated factor, 60 seconds for sales/view inputs, and 5 minutes for model data. Saving a model clears its cached model copy. Allow time, then reopen or refresh the ticket selection before checking again.
Review Dynamic Pricing results
Open the event's Event Summary Report. Once qualifying dynamically priced sales exist, the Dynamic Pricing section can show these figures by event date:
- Discounted Tickets / Revenue Reduction: tickets sold below their comparison base.
- Premium Tickets / Additional Revenue: tickets sold above their comparison base.
- Total DP Tickets: dynamically priced ticket count.
- Net Gain / Loss: the combined dollar impact.
Refunds reverse quantities and their dollar impact. Flex passes and free subscription redemptions are excluded from this section.
Reporting caution: The report compares sold prices with the order line's stored list price. If that value is zero, it can fall back to the currently configured ticket/seat price. This is relevant to box office general-admission and multi-pass sales: changing the base price later can make an earlier sale appear as a reduction. The report does not use your model's current caps to recalculate past orders.
Troubleshooting
The ticket price is not changing
- Confirm the event has Enable Dynamic Pricing on, a model selected, and the event saved.
- Confirm the model is Active and its intended components are enabled and saved.
- Check whether current inputs match a tier with a nonzero Value. At 0% sold, our example correctly leaves prices unchanged.
- Check that you are using an eligible ticket and standard price, without a manual override.
- Allow for the refresh delay, then reopen the ticket selection.
The price decreased, but I expected increases only
Check every enabled component for negative values. A blank Max Decrease is unlimited; it is not an increase-only setting. Use nonnegative tiers throughout an increase-only model.
The report shows Revenue Reduction despite positive tiers
Check when the order was sold, whether a discount applied, and whether its stored list price was zero. A later base-price change can affect the report's fallback comparison. Compare the order's Dynamic Pricing tooltip and price history before concluding that the current model lowered the price. If the result still looks wrong, contact Support with the event/date, order number, model settings, and report screenshot.
Can I set different adjustments for individual seats?
The model calculates one percentage per event date and applies it to eligible base prices. Seats or ticket types can have different base prices, but the model does not calculate a separate percentage for each seat.