1 Mar 2017

Simplifying Uber's Confusing Pricing

I took two Uber rides today, each of which ended up costing me ₹36 per km. The normal rate for UberX, which I used, is only ₹8 per km. The trips were at 2x surge, so they should have cost me only ₹16 per km, not ₹36 per km. But Uber has a complex pricing formula that works in unintuitive ways and seems designed to confuse and cheat us.

First, UberX has a rate of ₹1 per minute in addition to the per-km rate. Instead of adding these two, Uber should have used the higher of the two. After all, you can't travel any distance without taking time. We don't have Star Trek transporters. So you shouldn't have to pay twice for the same thing. Use the max. That way, for a given trip, you're paying only once, which is fairer. If that means increasing the per-minute fee from ₹1 to ₹2, say, so be it.

Second, Uber charges a base fare of ₹40 for any ride, in addition to the above. Putting all this together, the formula for UberX [1] is

(₹40 ₹8 per km + ₹1 per minute) * surge

The base fare is needed because it doesn't make economic sense for a driver to drive 3-4 kilometers to pick me up, without me paying for it, and then drive me a short distance. The simpler solution to this problem is to get rid of the whole concept of a base fare and start the meter when the cab is assigned to you. That is, if the cab travels 4 km to your house, and you then take a 5 km trip, count it as a 9 km trip [2].

The current formula is, for UberX [3]:

(₹40 ₹8 per km + ₹1 per minute) * surge

Simplify it to:

max(₹8 per km, ₹2 per minute) * surge

On second thoughts, surge pricing shouldn't apply to the per-km fee, only to the per-minute fee. Applying a surge multiplier to the per-km fee ends up encouraging shorter distance trips. But the distance is irrelevant. What matters is the duration of the trip. Surge pricing happens when there's a shortage of cars. So people need to be incentivised to vacate a car as quickly as possible, so that someone else can use it. It doesn't matter whether, for the time they occupy the car, they travel 5 km or 10 [2]. So the fomula should be:

max(₹8 per km, ₹2 per minute * surge)

Then, the app can communicate surge pricing not as 2x but as "At least ₹4 per minute". That's more understandable. I can quickly estimate how much it will cost to go to a particular place.

[1] UberGo uses the same formula, but ₹7 per km instead of ₹8.

[2] Or impose a minimum fee rather than a base fee. That is, say that an Uber ride costs at least ₹60, for example, not that it costs ₹40 + the regular fare.

[3] Alternatively, surge pricing can be a higher minimum, like "At least ₹100 per trip". This will discourage shorter trips, reducing the time wasted in having a car come to someone's pickup point, therefore increasing the time the car is carrying a passenger. A number like "At least ₹100 per trip" is also more understandable than an opaque number like 2x.

No comments:

Post a Comment