Price elasticity arbitrage in Pre-Owned Cars — CARS24 classified!!

Naresh Mehta
CARS24 Data Science Blog
6 min readSep 4, 2023

As we all eagerly wait for Shashank & team to draft the ‘promised’ second blog in the ‘Dynamic Pricing’ series, I thought it would be wise to come up with a ‘filler’ of sorts!

Let me take this opportunity to share the interesting interplay of price elasticities at seller & buyer end which have a critical role in executing assortment mix plan, inventory sell through rate and portfolio margin (through a neat framework christened Trinity) at CARS24.

Quick background

At CARS24, we inspect about a million cars a year in India alone and manage to drive transactions across a quarter of those. Of the transacted cars, ~75% go through our wholesale channel via auctions, while the rest are procured in our own inventory to be serviced & refurbished in our MRLs (mega refurbishment labs) and eventually delivered to its next home!

The owned inventory channel naturally requires us to have a few pre-requisites in place (acronymized ACT) for efficient procurement:

  • an Assortment framework driven by regional demand-supply gap on our buyer platform to flag cars that are relevant for our inventory.
  • Condition criteria based exclusion ensuring our brand promise on the quality of cars as well as learnings from the historical buyer behavior / response to specific imperfections.
  • Threshold for procurement pricing — i.e. the maximum procurement price that we can afford for a given car.

This write up focuses on procurement pricing and how it ties up with listing (selling) price, target sell through rate & target margins for the entire portfolio.

Slight detourFor those new to CARS24 DS blog, we have a fairly sophisticated ML based pricing engine leveraging massive historical data generated through millions of unique car inspections & transactions driven through our platform across auctions & retail business since inception in 2015. Apart from our internal data, we also leverage the classified listings and new car pricing information set by the OEMs in the pricing algorithm.

These data points help us learn the age depreciation curves at granular model level across different regions; the impact of different current car condition parameters as well as service history & documentation; and other external factors like localized demand-supply gap, government regulations, OEM strategies, etc.

Please refer our previous blogs, this & this for more details on pricing engine.

Seller Conversion as a function of offered price

Returning to the procurement pricing for owned inventory — the challenge is not just to predict most likely price that a car governs but also to achieve an ideal assortment of cars while meeting target sell through rate and margin for the portfolio.

As the price offered to the seller varies vs a base price (i.e. ideal model price for the given car attributes) the likelihood of seller transacting with us increases before hitting a relative saturation — the price point where any ‘serious’ seller with true intent to sell will end up passing on the car to us.

Price Elasticity — Seller Conversion vs Relative Aggression in Offered Price

Buyer sell through as a function of listing price

Just as with seller, there is a change in likelihood of a car getting sold in ‘next x days’ with relative aggression in listing price vs ideal ML model based price.

Lot of other factors come into play to drive superior buyer conversion — ideal assortment, quality of the cars, ease of navigation on the product, availability & interest rate of financing, superior customer experience, operational excellence on the ground & so on. However, price happens to be one of the most critical factors.

Relative drop in listing price leads to an increase in sell through rate till it reaches a point of saturation — the price point where any ‘serious’ buyer with true intent to buy will not reject CARS24 on the account of car pricing.

Price Elasticity — Sell Through Rate vs Relative Aggression in Listing Price

Introduction to the Trinity

Trinity is essentially the holy grail that we are continuously iterating towards when thinking about buying & selling the cars in our owned inventory business.

Random image of ‘Trinity from The Matrix’ to make the blog look cooler

In an ideal world, we want to maximize following 3 conflicting metrics for every car we buy & sell, ergo meet the trinity :

  • Seller Conversion : We want to maximize our chances to procure the car that fulfils our assortment criteria, i.e. maximize the seller conversion.
  • Buyer Sell through rate : We obviously want to be able to sell these cars to the end buyer as soon as possible post listing these cars on our platform.
  • Net of refurb margin : And we want to achieve the above while also maximizing the margin we make on that car, both transactional margin (difference in buying & selling price) as well as net of refurb margin (margin after accounting for cost of refurbishment).

In this write up, we are talking about transactional margin while hitting ideal seller conversion and buyer sell through rate.

At a granular car cohort (fingerprint) level, we are aware of price elasticities at both seller & buyer ends. We are chasing a certain assortment mix, hence have a certain target seller conversion for given fingerprint. We also have an ideal sell through rate for given cohort which literally freezes the transactional margin at cohort level — refer image below for more clarity.

Trinity in play at a car ‘cohort level’

Trinity for portfolio level margin & sell through rate

We talked about trinity at cohort level in the previous section. Now let’s take it a level up to the portfolio level.

Once cohort trinity is established, next step is to essentially run an optimizer across all the cohorts and sort of work backwards from target portfolio level margin & sell through rate to establish relative size of different cohorts, with least deviation from the ideal assortment mix.

Different cohorts by design (seeking trinity) have different expected seller conversion, sell through rate & transaction margin, and the relative mix of procured cars is controlled in a manner that leads us to target margin & sell through rate for the entire portfolio.

Cohort (C1, C2, C3 etc) level trinity leading to Overall Trinity at Portfolio Level

Concluding thoughts

Pricing a pre-owned car is tough!

There is no universally accepted single price and there can be large variation attributable to the idiosyncrasies of the buyers & sellers, varying car condition & documentation, and the stochastic nature of the market. This being a high value item with depreciating nature makes the task at hand even harder.

However, as almost always, good old statistics can help us out of this situation! Eventually it boils down to probabilities & elasticities, leveraging them efficiently can help us design a system which can account for most of these uncertainties while establishing procurement & selling pricing of different type of cars.

Acknowledgment

Lot of folks have joined forces as we try to achieve the Trinity at CARS24 — while we are headed in the right direction, there are many miles to go!

Calling out some of the key players cutting across different functions who are working together on this quest — Atish & Paridhi from Core DS team, Ishant & Zaeem from Core BI team and Shivender & team from the retail business.

--

--

Naresh Mehta
CARS24 Data Science Blog

VP, Data & Strategy @ Cars24 | Ex Zomato, ZS Associates, dunnhumby | IIT Madras