The Journey to Create Fair Price

Putik Dhiraramanti
3 min readJul 13, 2022
Photo by Mike Tsitas on Unsplash

Supply and demand is an economic theory that describes how prices are set in a market in microeconomics. In a competitive market, it is hypothesized that, all else being equal, the unit price for a specific good or other traded good, such as labor or liquid financial assets, will fluctuate until it settles at a point where the quantity demanded (at the current price) will equal the quantity supplied (at the current price), resulting in an economic equilibrium for price and quantity transacted. It forms the theoretical basis of modern economics.

Given the eyeball as the demand and the online idle drivers as the supply. Theoretically this can be applied on the ride-hailing marketplace. Of course, it is not entirely on how we exactly do in Snapp (given the NDA, I cannot describe with 100% accuracy 😆). But then again, we arrive at the biggest problem statement that we want to solve, our one million dollar question, how can we ensure that we give drivers the maximum income without sacrificing the platform affordability for our riders?

First thing first, data!

We need a reliable, scalable, high-throughput system to calculate data in real-time if we are about to calculate the supply and demand parameters. In the beginning, we used Kafka to calculate the input of the supply and demand parameters. But we ended up using nats, which we didn’t regret.

Let me share here some of the benefits that our developers like so much in some of the aspects:

  • Most of our developers speak golang, while kafka is using java, in terms of learning curve, nats give much better experience for our developers in terms of maintainability.
  • With nats, we reach way lower latency than when we’re using kafka (more than 400% reduction, I can say)
  • In terms of resources and instances, we also use fewer resources on nats
  • I can go on but maybe it’s better to have a separate section on this 😃

We got the data, then what?

Once we got the reliable real-time data of the input that represents the marketplace situation, then comes the logic. To simplify, we have a particular combination of information that will give the output, defining the price factor to add on top of the basic price factor. In this way, we are incentivizing our drivers livelihood on both situations of low and high-demand situations without compromising our competitive price in the marketplace.

Why did we do what we did?

I personally believe that any labor should be incentives based on the market situation, this concept, however is the fundamental logic of how the economy works. As a platform, I truly believe that we should ensure that everyone using it is incentivized fairly.

The result?

With the heavy and long experimentation, the feature on the long run contributed to more than 2% of growth of our platform which was a very good numbers for us back in the day.

If you are a PM/developers and interested to join our team, please check out our open positions here 👉🏻 https://snapp.recruitee.com/

If you are a PM/developers interested on our tech stack, please check out our engineers blog post here 👉🏻 https://engineering.snapp.ir/

--

--