The Yhat Blog


machine learning, data science, engineering


Data Science Case Study: Turo's Dynamic Pricing and Recommender Engine

by Yhat |


Jérôme is the Director of Data Science and Analytics at Turo

Turo wants to put the world’s billion cars to better use.

Much like AirBNB revolutionized the hotel industry, Turo is transforming the car rental industry, one adventure at a time. Turo offers more than 800 makes and models of vehicles. Owners offer their cars, sometimes including delivery, to renters in more than 4,500 cities and 400 airports across the U.S. Turo also started its international expansion last year, launching in both Canada and the UK. An undertaking of this size is no small endeavor.

Early on, the Turo team recognized the importance of data, and began capturing and storing information on how users navigated the site to lend and borrow vehicles in a central Amazon Redshift cluster. Jerome Selles, Director of Data Science and Analytics, defines the team’s mission as “turning data into an asset for the company” and divides Turo’s approach to leveraging data into two major categories, “decision science and data features.”

“Data features are algorithms we build into the app that directly impact and personalize a user’s experience.”

“Decision science is making the right decisions using data, like what aspect of the product to focus on next or what advertisement to run. Data features, on the other hand, are algorithms we build into the app that directly impact and personalize a user’s experience,” explains Jerome.

“Initially, we focused on the decision science side. We were doing a lot of ad hoc analyses and reporting, but we hadn’t built predictive models. The app was still relatively simple. We were providing a list of available cars, without any kind of data magic to show you the right one or help you along in the process.”

“...we knew that it would be really hard for users to predict fluctuations in demand...so we decided to build a dynamic pricing algorithm.”

“Our first pricing scheme was static--listers chose one price that was fixed all year. In reality though, car demand varies, just like hotel demand, so prices should change accordingly. We wanted to give our users the flexibility to vary rates by day, but we knew that it would also be really hard for owners to predict fluctuations in demand. So we decided to build a dynamic pricing algorithm.”

“The algorithm evaluates a few straightforward variables like car make, model, and year, as well as some less obvious factors like demand and competition...”

The data science team's dynamic pricing model makes it much easier for renters listing their car on the P2P platform.

“Our team built a model that could suggest a reasonable price based on all the data we had at our disposal. The algorithm evaluates a few straightforward variables like car make, model, and year, as well as some less obvious factors like demand and competition, both intra- and extra- Turo.”

“Our data science teams works predominantly in Python but our engineering team develops in Java and Javascript, so there was no clear path to production.”

“Our data science teams works predominantly in Python but our engineering team develops in Java and Javascript, so there was no clear path to production. I actually came across Yhat’s model deployment platform, ScienceOps, at a data science meetup in San Francisco. ScienceOps lets data science teams deploy Python (and R, for that matter) models into apps without recoding, via REST API endpoints. I thought the idea was really interesting. What stood out to me was the vision of separating the development tracks, uncoupling data science modeling from the user facing product.”

“To be honest, my first inclination was to see if we could build something in house. With enough time, our team was able to port the pricing model into production but we struggled with refreshing the model without any downtime on the API. Yhat provides an elegant solution to this problem. When we thought about the opportunity cost of building and maintaining a “good enough” solution versus purchasing reliable enterprise software with support, it didn’t make sense to try to recreate the wheel. We looked at a couple of competing products as well, but Yhat had the most robust deployment solution and the best support.”

“Yhat had the most robust deployment solution and the best support. It took less than a day to migrate our pricing model to the Yhat platform and deploy it into production as REST API endpoints.

“It took less than a day to migrate our pricing model to the Yhat platform and deploy it into production as REST API endpoints. Since then we’ve also written and deployed a complex recommender engine using the Yhat platform. We can update our models in seconds, rather than in weeks or months like it would’ve taken without Yhat. Yhat removed our dependence on other engineering teams so that we can realize the value of our work almost immediately.”

The Turo recommender engine at work...powered behind the scenes by Yhat's ScienceOps.

More Resources To download the PDF version of this case study, of read other Yhat data science case studies, visit our Resources page.



Our Products


Rodeo: a native Python editor built for doing data science on your desktop.

Download it now!

ScienceOps: deploy predictive models in production applications without IT.

Learn More

Yhat (pronounced Y-hat) provides data science solutions that let data scientists deploy and integrate predictive models into applications without IT or custom coding.