What Engineering office actually is
- #Advent Calendar
- #engineering management
- #Engineering Office
The 23rd day’s post of Mercari Advent Calendar 2020 is brought to you by Rishabh Shrivastava from Mercari’s US@Tokyo Machine Learning team. In case you are wondering what US@Tokyo means then it is the team which works for Mercari’s US marketplace but from Tokyo.
Recently I worked on developing a price guidance system for Mercari’s US platform. 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, in this article I want to describe 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 it for making a sale.
When selling an item on Mercari, many users have difficulties in attracting potential buyers while the item is listed for sale. Such difficulties may arise from an 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, the US@Tokyo ML team 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 the item of sale during the listing of the item on Mercari platform.
Additionally, while suggesting a listing price to the seller our suggestion also includes a qualitative suggestion, e.g. the sale may be slow or speedy, which is a general indication that a lower price may be more likely to sell.
Price Suggestion feature in Mercari US application
The Smart Pricing feature continuously updates the listing price until it hits the floor price or the item gets sold. Listings are promoted and exposed to potential buyers for every price update.
Now a question may arise in your mind, what is the floor price?
Floor price is the minimum amount which the sellers expect from their listings. We ask sellers to input two prices, one is the standard listing price and another is the floor price which is kept secret between the seller and Mercari. We use these two price inputs by the sellers and our price guidance system built using AI algorithms to tweak the price of the item until it gets sold or hits the floor price.
Smart Pricing feature in Mercari US application
To help users input these two prices we leverage neural network based machine learning models to suggest a viable listing price as well as a practical recommendation for the floor price of a listing in real-time to guide the user given the item’s image, title, description, category, brand and condition.
To manage price updates, we have developed a complex smart pricing algorithm which takes into account numerous parameters like current price, current demand, number of views/likes/impressions of an item etc. A simple example curve to understand how we handle price reductions can be understood from the figure below:
Sample price drop function for Smart Pricing
The plot above depicts a sample price drop function where the independent variable x represents a normalized price difference for a given price (P) with respect to the endpoints of a range of sale prices, maximum observed sale price (Ps_max) and minimum observed sale price (Ps_min), of similar items. The function considers various factors such as a maximum percentage price drop (Dmax) from a given price (P), and a steepness factor (k) with midpoint shift value (x0) of a curve provided by the following equation:
If the given price of an item results in a high normalized price difference leading to an unlikely sale because similar items have not sold at or above that given price, the price will be automatically dropped in steps to lower values taking both maximum percentage drop as well as the floor price limit into consideration.
If, on the other hand, the given price is lower than the majority of other observed sale prices, our Smart Pricing algorithm can raise the price to increase proceeds if the item on sale observes an increasing demand.
For non-increasing demand of the item for sale or smaller normalized price difference, the price will gradually move closer to the floor price depending on the age of listing. On every update, the item gets a boost in search results providing more views and impressions for a while. At any step, if the demand of the item goes up, the system can reverse the direction of price updation. A very simple example of price update considering constant demand for the item can be seen in the figure below:
Example process of Smart Pricing
We have also built a time-optimization algorithm to take into account the peak activity time during a day for updating the price between user selected listing price and floor price.
Mercari’s US@Tokyo ML team has consistently been trying to leverage AI techniques to simplify the selling experience of users. One such effort is the development and constant improvement of the price guidance system. I hope that this article provides you some interesting insights on how we do it.
Tomorrow’s blog post —24th in the Advent Calendar— will be written by Shinji Tanaka. Hope you are looking forward to it!