Get in touch

09 Juni 2020

Machine Learning and Elasticsearch empowering great marketplaces

Machine Learning and Elasticsearch empowering great marketplaces

Welcome to the fourth edition of our series on technology case studies from our portfolio companies. Check out the first, the second and the third edition in case you have missed it!

In this post, Filip Haftek, DevOps Consultant at Russmedia Consulting, and Romina Popa will show you how they improved their customer satisfaction at Russmedia Digital Romania.

This post was also published on Medium.

Enter Filip and Romina:

 

Introduction

We decided to give Machine Learning technology a try, but also wanted to experiment with one of the most powerful search engines in the world — Elasticsearch. In this article I am going to describe both approaches and compare the results we have achieved.

Proper data is a must

Also, we found some deviations in listings i.e. mileage above 1 million kilometers, so we had to remove all the entries with improper data.

After the data cleaning, we decided to go for Machine Learning regression algorithms. The idea behind our decision was to support our users in the process of posting a car listing by having our system suggest the best price for the car after the user fills in all the required fields.

Our final feature set includes:

  • car body
  • fuel type
  • horsepower
  • registration date
  • mileage
  • model

Machine Learning for car price prediction

  • LinearRegression
  • DecisionTreeRegressor
  • GradientBoostingRegressor

We first had to remove the make of the car, as every make has unique model names. I will not get into the detailed process for building the model, but instead I recommend you read this great article: predict car prices with ML. We ended up with Decision Tree Regression model with regressor score 0.85, where possible values are:

where 1 is the best possible score.

As we had our model, we were able to predict more precisely the proper price for posting the car based on the provided parameters. Our product team reviewed the solution and raised another issue:

Since we can predict the accurate price, how about going one step further? We could actually help our customers manipulate the price in order to incentivise them to post their car listing with a fairer price. This could help them get more views and sell faster.

Elasticsearch advanced features for better data understanding

But for us it all comes down to this:

How can it help our customers choose the best price for the car they want to sell on Publi24.ro platform?

In order to answer this question we had to look deeper into the capabilities of Elasticsearch. Apart from indexing the documents and making them available for different types of searches, it also provides many data aggregation features. Our product team was asking for more than single digit price recommendations; they asked for price buckets so we could suggest our users defined price ranges which would increase the probability of selling the car faster.

We looked into stats aggregation, which showed us many statistical data regarding prices for particular groups of cars, but we found out that the feature meeting our expectations was percentiles aggregation.

Percentiles show the point at which a certain percentage of observed values occur.

Apart from predefined numbers, with Elasticsearch we were able to define our own ‘points’ with such query:

This approach allowed us to place prices into 5 different ranges: very cheapcheapaverageexpensive and very expensive, based on the provided data.

Customer satisfaction first — the approach we have chosen

Which approach would help our customers most? Single recommended value or price ranges?

Our product team made a research which proved that placing the users’ price into buckets and allowing them to increase/decrease price on the website while posting the listing would result in a better user experience.

With this in mind our UX team has designed the UI which looks like this:

Car price recommendation feature on www.publi24.ro

Our users are now able to manipulate the price and choose the right price bucket for their car listing. This determines the number of ad views and influences how fast our users will be able to sell their car.

Design for failure

Summary

Feel free to reach out with any feedback or suggestions, we would love to hear from you.

You can also try our price recommendation feature on Publi24.ro or visit the Russmedia Equity Partners website.

Russmedia group is also sharing projects via open source — please visit our open source catalog.

Acknowledgements

Radu Moldovan (CTO of Russmedia Digital Romania)

Claudiu Silaghi (DevOps/Web Developer at Russmedia Digital Romania)

More from Russmedia Equity Partners

Virtual Meetups

Virtual meetups for a stronger community

21 Juli 2020

Recently, we hosted virtual meetups for our marketing and sales leader to exchange their experience about operating a successful business during a global pandemic.
Read more

DACE pricing & subscription changes 2020

Improve user experience and achieve record revenues during a pandemic

10 April 2021

Dating Central Europe was founded in 2014 to become the market leading online dating company in Central Europe. The company operates the market leader Hungarian dating site Randivonal, in addition to several smaller online dating sites tailored to various target groups. Co-founder and managing director Péter Weiler has 20 years of online expertise and is an iconic figure in the world of Hungarian digital media.
Read more

You’re next Let’s go