Dynamic Pricing Algorithms

A study into different methods of dynamically pricing services with variable daily supply and demand to maximize revenue and trade.


The dynamic pricing algorithm seeks to achieve a simple approach to mimicking the Uber pricing algorithm, and shows a few different approaches that can be taken. Below are four different pricing algorithms: Maximum Ridership, Maximum Revenue, Base Rate, 2x Base Rate. These pricing algorithms do not take into account the individual elasticities of buyers nor sellers, but rather the collective elasticity to measure the number of consumers still “in the game” at a given price point and demand. The pricing is equal for all buyers and sellers at any given time.

Supply and Demand Curves

To make the supply and demand variable throughout the day, two curves were created: The green line represents the comparable supply and the red the demand. When the baseline supply is higher, it means that sellers are likely to take lower rates, however when the supply is lower, the sellers will require higher rates (premiums) to jump back into the market.

Each rise in percent cost decreases the demand by approximately 0.3% with a standard deviation of 0.2%, and increases supply by 0.5% with a standard deviation of 0.3%.

Consumer Tendencies

Throughout the day there is a main trendline oscillation between buyer demand and seller supply crests and troughs. Each buyer and seller has their own deviance from this major trendline however, as they have their own particular inclination to buy or sell and a particular responsiveness to changes in price. This should model reality relatively well as some drivers may be willing to pay a 4x premium for the service while others may not even be interested in paying the Base Rate.

Consumer Assumptions

In this program, each consumer is given a value for probability of buying or selling and their relative elasticity to price. While we cannot know this in the real world, this provides a good basis for simulating reality given that the program does not use individual elasticies to price on a case-by-case basis.

By collecting usage statistics on when users are likely to buy and sell, and their responsiveness to price changes, we could apply the models above to help find an efficient price point.

Maximum Ridership

The Maximum Ridership algorithm finds the equilibrium point at which there are an equal number of buyers and sellers at a given time to exchange. This results in the most buyers and sellers, but not necessary maximal revenue.

Max Ridership

Maximum Revenue

The Maximum Revenue algorithm finds the point at which the most revenue can be made — not necessarily the point where the most buyers and sellers are being matched up. The general rule is that Maximum Revenue tends to lead to many sellers not being able to sell their goods due to a limited number of buyers who are willing to pay higher amounts.

Max Revenue

Base Rate

The Base Rate algorithm applies a base rate regardless of the supply or demand at any time in the market. This leaves potential on the table during hours of increased demand.

At Base Rate

2x Base Rate

The 2x Base Rate algorithm is a flat 2x Base Rate method that is used to illustrate the comparable difference in the supply and demand of rides at the new fare price.

At 2x Base Rate


While the Maximum Ridership is always second to the Maximum Revenue method, it provides a better market that allows more buyers and sellers to match up. Both the aforementioned algorithms for pricing are much more effective than using a flat rate throughout the day, as the Base Rate leaves fierce competition in the peak hours. The 2x Base Rate similarly leaves many idle drivers in off-hours as the pricing is too high for the low number of potential buyers.

Using a dynamic pricing algorithm ensures that money isn't left on the table and efficiently matches the most drivers and riders together.