How we developed a real-time price guidance system integrated with the listing process and search results.
The nearly boundless quantity of available data, reasonable data storage, and the growth of less expensive and more powerful processing has spurred the growth of Machine Learning (ML). Now various organizations are developing more robust ML models capable of analyzing complex and huge quantities of data while delivering faster, more accurate results on vast scales. ML tools empower organizations to quickly identify profitable opportunities and potential risks.
Recently we worked on developing a price guidance system for Mercari’s US platform leveraging Artificial Intelligence (AI) techniques. We observed that not only pricing an item but also making a profitable sale isn’t very straightforward as people usually tend to overprice their belongings. So, through this article, I want to share a quick overview of how we developed a real-time price guidance system integrated with the listing process as well as the search results to reduce all the pricing-related hassles of a seller — starting from judiciously pricing the item to managing pricing updates to closing the sale.
When selling an item on Mercari, many users have difficulties in attracting potential buyers when the item is listed for sale. Such difficulties may arise from a user’s inexperience with selling in general, or with selling specific items. This gives rise to unreasonable expectations of how much money will result from the sale and how much time will be needed between listing and closing. Separately, the user’s difficulties may also arise from unfamiliarity with Mercari’s platform and they may unwittingly misidentify the object for sale and its pricing due to lack of knowledge of our marketplace.
As a result of these problems, sales may ultimately be slow or may not close in an appropriate time frame. Any number of these problems may have a compounding effect, resulting in the user’s frustration, which may in turn lead to the user overcompensating with price reductions, potentially leading to further frustration. Over time, such users may disengage from our platform, resulting in fewer listings on Mercari and reduced interest in the items from other users.
To resolve such challenges, we developed features called Price Suggestion and Smart Pricing to reduce a seller’s price-related struggles while making a sale.
The Price Suggestion feature, as the name suggests, recommends a viable price range for an item during the listing process.
Additionally, while suggesting an initial listing price to the seller, our suggestion also includes a qualitative suggestion (i.e. the sale may be slow or speedy) that indicates that a lower price may be more likely to sell — especially quickly.
The Smart Pricing feature continuously updates the listing price until it hits a user-specified floor price or the item gets sold. Listings are promoted and exposed to potential buyers after each automated price update.
Now a question may arise in your mind, what is the floor price?
Floor price is the minimum amount that a seller would accept for their listing. We ask the seller to specify two prices — the first is the initial listing price and the second is the floor price (which is only known by the seller and Mercari). We use these two price inputs in combination with our price guidance system, built using AI algorithms, to tweak the price of the item until it is sold or hits the floor price.
How do we do it?
To help users choose these two prices, we take the inputs of the item’s image, title, description, category, brand and condition and then leverage neural network-based ML models to suggest a viable initial listing price as well as a practical recommendation for the floor price in real-time.
To manage price updates, we have developed a complex smart pricing algorithm that takes into account numerous parameters — e.g. current price, current demand, number of views/likes/impressions of an item, etc. A simple example curve to illustrate how we handle price reductions is provided below: