3
$\begingroup$

I've been trying lately to search the internet to find a result for this but no useful results, unfortunately. We're making an uber-like application, and, during our discussion, we needed a way to validate a rider's rating after he completes his ride with a taxi, but the main question is, does uber use an algorithm to do so? And how?

$\endgroup$
1
  • $\begingroup$ I’m voting to close this question because it is asking about a specific company's solution, which is probably a trade secret and not allowed to be answered. Also the question lacks some clarity. $\endgroup$
    – Dennis Soemers
    Jan 2 at 12:41

1 Answer 1

1
$\begingroup$

I highly recommend that you start reading on the Netflix challenge. It has tonnes of useful and interesting examples dealing with this sort of thing.

You will need an Algorithm that builds a score on both 'quality' and 'quantity'. That is, it needs to add a 'weight' to the final rating based on the number of reviews that an individual has. This is so that, for example, an individual with 50 8 score reviews would be rated higher than an individual with only one 9 score review.

I recommend that you implement Bayesian estimates to calculate weighted voting.

IMDb (Internet Movie Database) utilizes this algorithmn to determine its IMDB top 250 movies. (Robert C 2010)

The formula for calculating the Top Rated 250 Titles gives a true Bayesian estimate:

weighted rating (WR) = (v ÷ (v+m)) × R + (m ÷ (v+m)) × C

where:

R = average for the movie (mean) = (Rating)

v = number of votes for the movie = (votes)

m = minimum votes required to be listed in the Top 250 (currently 3000)

C = the mean vote across the whole report (currently 6.9)

Please note that in addition to the rating Algorithm, Uber has a dispatch algorithm which takes into consideration factors i.e. Drivers who are online and drivers who are nearest to the passenger.

$\endgroup$
1
  • $\begingroup$ Honestly I cant see it being to much of a sophisticated algorithm, its probably something simple like the above with a touch of normalisation, ie square rooting by the s.d. or something silly and unnecessary like that. Best algorithms I find are based on the simplest of statistical principles. $\endgroup$
    – solarflare
    Apr 16, 2018 at 23:39

Not the answer you're looking for? Browse other questions tagged .