The basic formula is actually quite intuitive: price = base fare × demand coefficient × adjustments.

Let's break down each variable separately.

1. How the Base Fare is Formed

Imagine we have 2 entities:

  • passengers (demand)
  • drivers (supply)

The system needs to find a balance under different scenarios of their behavior.

Conditionally:

  1. 100 passengers — 100 drivers → balance, normal price
  2. 200 passengers — 100 drivers → demand is higher, price goes up
  3. 100 passengers — 200 drivers → too many drivers, not enough demand → price goes down

2. Now for the Most Important Part — the Coefficient

This is where machine learning comes into play, because the task is to find a price that maintains balance between demand (passengers) and supply (drivers).

In other words:

  • you can't always raise prices, as people simply won't call for a taxi
  • you can't keep prices low, as there won't be enough drivers
  • sometimes you need to lower the price so that during periods of weak demand, people order rides more often

The coefficient is just a number that the machine learning model selects based on the situation.

Simply put: the model learns to apply the “right multiplier” to the base price.

3. Adjustments

Various factors additionally influence the price:

  • weather conditions (rain → higher demand, icy roads → fewer drivers)
  • time of day (fewer drivers at night)
  • area (going to remote areas is less profitable)
  • likelihood of the next order (if a driver goes “nowhere,” the price is higher)

It's important to understand:

This doesn't mean that the service “manually” checks each factor. It operates based on historical data.

How the Model is Trained

The model is trained on historical, i.e., past data:

  • time of day
  • day, month, season
  • number of orders
  • number of drivers
  • trip prices
  • and many other factors

The more data there is, the more accurately the model will predict prices.

What It All Comes Down To

The model tries to answer the question:

What price should be set now so that passengers continue to order, drivers come online, and the system remains balanced?

Why Prices Sometimes Seem Random

  • the situation changes every minute
  • demand and supply are constantly fluctuating
  • there is a lot of data, and we don’t see it

So it's normal if the price drops or, conversely, rises after 5 minutes.

Conclusion

Taxi pricing is not “the service's greed,” no matter how it may seem to us, but a balancing mechanism:

  • for the passenger — an acceptable price
  • for the driver — a decent income
  • for the service — its commission

A Little Life Hack

If:

  • it's evening/night
  • it's raining
  • you're in the city center
  • you're going to a remote area

The price will almost always be high.

What you can do:

  • wait 5–10 minutes
  • check again

Sometimes some drivers become available, the coefficient drops, and the price becomes lower.