
How to find your Uber passenger rating - aaln
https://medium.com/@aaln/4aa1d9cc927f
======
madeofpalk
This is a lot easier than the Charles MITM proxy I used to intercept the Uber
iPhone API calls to determine mine. I feel kind of silly now that I didnt
bother checking the web API.

I also made a web scraper to get my uber trip details (incl. route driven),
save it to JSON and map the trips all at once.
[http://i.imgur.com/Q1W59rD.jpg](http://i.imgur.com/Q1W59rD.jpg). Here's a
quick dump of the code
[https://github.com/joshhunt/uber](https://github.com/joshhunt/uber). It's
pretty rough and it makes a lot of assumptions (e.g. metric system and AUD). I
never really plan on looking at it again, so your milage may vary.

I also found their API structure to be quite unusual: They make a call to
something like `api.uber.com/` with POST data of something like

    
    
        {
            url: '/api/user/123123123',
            method: 'get',
            location: [lat, long]
        }
    

and you'll recieve a response back of something like

    
    
        {
            responseData: {
                username: 'madeofpalk'
                ...rest of requested data...
            },
            vehicles: [
                ...list of all vehicles and their locations...
            ]
            ...other data that wasnt explicitly requested but comes through with every request...
        }
    

I had never seen this pattern before, and thought it was quite unusual
(especially for a 'new hip startup' that uses Python and Node.js). Anyone care
to comment on why they may have choosen something like this?

~~~
eiopa
If you're curious, I put together a Python library for that:
[https://github.com/tals/uber.py](https://github.com/tals/uber.py)

Some of this is remainders from when they just had consultants working on
this. Look at hash_password() at client.py :)

~~~
skeletonjelly
Deep link:
[https://github.com/tals/uber.py/blob/master/uber/client.py#L...](https://github.com/tals/uber.py/blob/master/uber/client.py#L272)

~~~
Fragment
Relevant:
[https://news.ycombinator.com/item?id=8046710](https://news.ycombinator.com/item?id=8046710)

(Well, it's not really relevant but you reminded me of it ^_^)

~~~
skeletonjelly
Ah awesome thanks! Didn't cross my mind to link to the commit's line number.
Still, have to agree with some commenters about having the link go to it by
default.

------
po
My twitter stream is now full of people, some of whom I am sure do not have
the skill to evaluate if something is a JavaScript security threat or not, who
have copied and pasted a random script they read on the internet into the
developer console. Granted, this one is pretty simple and easier to evaluate
than most, but still… you really get why Facebook hacked the console to warn
people not to do that.

edit: This tweet said exactly what I was thinking when I saw all of this.
[https://twitter.com/s_m_i/status/493609377958723584](https://twitter.com/s_m_i/status/493609377958723584)

"Also this uber thing shows folks will copy and paste commands they don’t
understand without a second thought if the incentives are right"

~~~
brador
What's the worst that could happen?

~~~
joshfraser
Grabs your account information and sends it along to the hacker.

~~~
chadillac
Yikes...

    
    
         >window.Uber.pingData.client.paymentProfiles
    
         [
         Object
         cardExpiration: "2014-03-01T00:00:00+00:00"
         cardExpirationEpoch: 1393632000000
         cardNumber: "[last 4]"
         cardType: "MasterCard"
         id: [payment id]
         useCase: "personal"
         uuid: "[uuid of payment option from their system]"
         __proto__: Object
         ,
         Object
         accountName: "[acct number]"
         billingCountryIso2: "US"
         billingZip: "[billing zip]"
         cardExpiration: "2017-09-01T00:00:00+00:00"
         cardExpirationEpoch: 1504224000000
         cardNumber: "[last 4]"
         cardType: "Visa"
         id: [payment id]
         tokenType: "braintree"
         useCase: "personal"
         uuid: "[uuid of payment option from their system]"
         __proto__: Object
         ]

------
rdl
I don't get why Uber doesn't tell me the exterior color of UberX cars coming
to pick me up. I have no idea what a "Nissan Versa" is; knowing it's a blue
minivan would be helpful.

~~~
lnanek2
Zip car is the same way. They have a picture of the vehicle, but it isn't the
right color, just some generic picture.

~~~
Zipster
In the US market every Zipcar has its name on the back to make identifying
them easier, and if you're using the iPhone app you can see the license plate
as well as details about the make and model.

Currently you can't tell the colour from the mobile app but it's a good idea.
I've passed it along to the mobile team to see if it's feasible.

(Disclosure: I work for Zipcar)

~~~
colinbartlett
Please do this, it frustrates me to no end because I see a photo of a blue
Audi and think I should be looking for a blue Audi but instead it's red.
Pictures would be great but even just showing the color in the app is fine, as
I can never find the color without going to the website.

~~~
Zipster
We'll look into it. It's slightly trickier than it could be because that
database field is completely free-form, so looking up an image from it or
translating it is harder than it needs to be. Thanks for the input though,
I've passed it along :)

------
finnn
I somehow have a 4, the lowest in this thread (that I've seen so far). I
wonder what I did, I generally try to be polite to the drivers and I rarely
use the service, so I suspect I got one extremely poor rating? I can't imagine
when though.

Anyway, looks like you can go and pull the token out of the page and just do

curl [https://m.uber.com/cn](https://m.uber.com/cn) \--data
'{"messageType":"PingClient","token":"xxxxx","app":"client"}' | jq
.client.ratin

to check it programmatically. Could be interesting to have a service detect
somehow that you'd just finished a ride and show you the new score (and
possibly the change, etc)

~~~
minusSeven
I guess soon enough Chef's and restaurant's will be rating customers as well.
In restaurant's there would be cutoff points for being a customer. You didn't
pay enough tips in the last restaurant you were a part of - you are now bared
from getting into a good restaurant now.

Joking above but the whole concept of dual rating scares me a bit .......

~~~
crdblb
Restaurants already keep notes on their customers and refer to them whenever
you call or make a reservation online. If you're a less-than-ideal customer,
they won't do something as overt as refuse service (unless you did something
truly horrible last time you were in), but they might be more likely to
squeeze you in for a last-minute seating during a busy time if you've got some
good things about you in the notes.

~~~
jacalata
Maybe some restaurants. Not the one I worked at. And unless they share them in
some kind of city-wide (or international) database, it's not the same effect
as uber refusing to have you as a customer any more.

------
politician
I have absolutely zero interest in my Uber passenger rating.

If they decide to start being ridiculous, I'll decide to start taking cabs
again -- at least the cabbies generally have a clue about how to get to
places, and don't bother with questions about "what route would you like me to
take you on". The fastest route, thanks.

~~~
smeyer
What city are you in? Here in Boston, my experience has been that the uber
drivers are more likely than the taxi drivers to know how to get where I'd
like to go.

~~~
ceras
In NYC there are strict requirements[1] that cab drivers know how to get
practically anywhere in Manhattan, and to major parts of the outer boroughs.
You can report them if they don't.

[1]:
[http://www.nyc.gov/html/tlc/html/faq/faq_pass.shtml#7](http://www.nyc.gov/html/tlc/html/faq/faq_pass.shtml#7)

------
zoba
Or, alternatively, you can just ask your Uber driver when you get in the car.
Much easier, and likely won't be "fixed" by uber for a long time.

~~~
antsar
Seems like they fixed it already, actually. [http://ant.sr/rating-
undefined.png](http://ant.sr/rating-undefined.png)

------
philip1209
The window.Uber variable has a lot of interesting information, like "isAdmin,"
data about the last vehicle I rode in (interior color, exterior color, model
year, capacity), last driver's phone number, "activeExperiments" which I
assume are multivariate tests being run against me, etc

~~~
valgaze
Their whole mapping scheme is pretty neat too on this "mobile" view.

They'll use lat/long to determine if the user is in China or not and then pull
up google maps or baidu.

Beautify this ([https://d1a3f4spazzrp4.cloudfront.net/web-mobile-
client/js/m...](https://d1a3f4spazzrp4.cloudfront.net/web-mobile-
client/js/main-min.b234f1.js)) then check out line 13185 for loadMap (Map
loading resources on # 13094)

They also create a gorgeous map "blur" effect when the user is ready to pull
the trigger on a ride: [http://snag.gy/rlBYX.jpg](http://snag.gy/rlBYX.jpg)

------
narsil
I wonder if Lyft shares something similar via their API as well.

`curl -H "Authorization: fbAccessToken <fb access token>"
[https://api.lyft.com/users/<lyft](https://api.lyft.com/users/<lyft) user id>`
provides some basic profile, credit card, location and referral information
but nothing about ratings. The lyft user ID can be obtained by logging in at
www.lyft.com/login and viewing the source.

------
korzun
I just want to point out that customer support will be happy to give you your
rating.

Just ask.

------
yskchu
Looks like they closed it :-/

window.Uber.pingData.client.firstName, lastName, email all work, but rating is
now "undefined".

~~~
antongm
Mine is too. Not sure what to do here. I use Uber a lot...I can't not have a
rating.

------
the_economist
I've been aware of my Uber passenger rating for about a year. When I first
found out about it, my rating was a 4.9. Once I realized that I was being
rated, I worked really hard to be the perfect passenger. I had my rating up to
a 5.0 for a few months. Then I got lazy about being perfect and it has since
dropped to a 4.8.

~~~
onedev
What things did you do to be "the perfect passenger"?

~~~
nulltype

      * Complimented the driver on his/her looks
      * Brought cookies
      * Always punctual
      * Provided shoulder to cry on when required

~~~
marvin
This _is_ in fact sarcasm, right? Because I would think that following common
courtesy and actually paying for the service you are receiving should be
enough ;)

The idea that you have to put in effort to be the perfect customer of a
service you are paying for is ridiculous.

------
aliston
I don't get why this is included in the window.Uber pingData. It seems as
though your rating is something that isn't necessary and shouldn't be surfaced
client-side.

Anyone have some insight into why this data is there in the first place? Is
this an accidental leak, some sort of optimization or something else?

~~~
chmars
It's data about me, so I have a right to know and get it anyway – at least
under European data privacy laws.

------
chatmasta
What kind of details do you think go into this rating? My guess: how long
driver waits for you to get in the car, how drunk and annoying you are, how
much you tip (do they see this before rating?), how profitable your ride is.

I suspect most drivers, like most passengers, give a 5.0 to almost everyone,
but dock points for being a dick. It just seems there's no other way to
differentiate passengers, since they'll be paying the fee regardless.

~~~
korzun
Tip is included in the ride, you can't adjust it.

This is not very scientific. I got 4.8 which means absolutely nothing to me.

~~~
refrigerator
It means nothing to you but remember that you're not supposed to see these - a
4.8 probably means something to the driver.

~~~
madeofpalk
For what it's worth, drivers with a rating of less than 4.3 or so are booted
from the service.

I've heard of people in my city having trouble and getting a driver to accept,
most probably due to him having a low rating (whereas I never have trouble
finding a driver)

~~~
patio11
Low ratings are not the only reason that could happen. Uber drivers run
businesses. They are not universal service taxis (which often flout the
universal service rule, to be true).

Your request for service includes several non-price elements to it, one of
which is your perceived likelihood to be a hassle (and reflected in your star
rating), one is the amount of unpaid travel required to get to you, and one is
what the driver perceives as likely to be your destination. All else being
equal, drivers would prefer to end up in portions of the city with a high
density of quality fares (say, an airport, the startup district(s) in SF, etc)
as opposed to portions of the city with a low density of quality fares (say,
the outer edge of the service area).

If drivers make a habit out of taking "bad" trips, their Uber business gets
meaningfully less lucrative. Accordingly, expect them to actively avoid "bad"
trips. If one's travel patterns routinely result in drivers perceiving you to
require "bad" trips, one is going to have a far different experience with Uber
relative to a high-frequency no-hassle business traveler.

------
zobzu
I've only had a few rides and ive 4.9 (ie someone didnt rate me 5.0). Meh.

Then again, I don't feel bad rating drivers because they sell me a service,
I'm rating that (it wouldnt even have to include their name - it probably
shouldn't. then again I'm european, we seem to have slightly different
ethics).

I feel bad that they rate us because we don't provide them with anything.

That rating is going to be saved, sold and shared eventually.

~~~
AVTizzle
Just like any other marketplace transaction, we the buyers do provide the
suppliers (drivers) with value. Equal value, of course.

Much of that value is automated in the form of our credit card details in our
Uber app. But we do provide value in a few other forms: not being obnoxious,
not trashing/puking in their car, not harassing them physically or verbally.

All these things happen to taxi and Uber drivers regularly, so there IS a need
to keep the demand-side riders in check. It's analogous to eBay or AirBnB's
two-sided rating systems.

Also, it's not fair to state as fact that our consumer buyer ratings will be
"saved, sold and shared eventually." If Uber were a free consumer app with an
unclear revenue source, that'd almost certainly be the case. But Uber isn't in
the business of needing to sell that data. On the contrary, any marketplace
data they hold is competitive advantage over other driver/rider services. They
have at least _some_ incentive to keep that proprietary.

~~~
praxulus
>Equal value, of course.

Both people in a transaction value the thing they have less than the thing the
other person is offering, otherwise there's no reason to bother making the
transaction.

At least, in theory.

------
aioprisan
There's a lot of useful data in window.Uber.pingData.client. For instance, I
can see that my credit card profile is on braintree.

------
rlu
Does anyone know why Uber doesn't easily just give you your own rating? If I
know my rating is low then I know I should work on improving it if I want to
continue using Uber...

Seems kind of like a win-win-win for all three parties (Uber, driver, myself)

~~~
ericrav
I would think some people who got low scores would become disillusioned with
the service, blaming the service rather than seeing any fault with themselves.
Then being offended, they would be less likely to use the service or harbor
negative feelings towards it.

~~~
peteretep
But but but ...

What's actually going to happen is that you're going to get degraded service
from Uber without knowing why. You're never going to get a cab in the quoted
time, because drivers won't pick you up, and you'll assume it's the same for
everyone, tell your friends how slow Uber is ... I would say the
disillusionment, blame, offence, etc are going to be aggravated by
consistently slow service.

------
schnaars
I've just asked my driver and they tell you.

~~~
chandraonline
Exactly this. I didn't know this was such a big secret. In one of the rides, I
happened to be in an Uber that I had taken before and the driver remarked
"Hey! you have dropped down from 5 to 4.9". And I exactly remember that just a
few days before I shared a ride with a friend , and he was being a dick to the
driver unnecessarily.

------
jwilliams
Hmm. Suspect there is a bug with this - All my ratings are five, besides a
handful of zeroes. At least a couple of the zeroes I remember being perfectly
amicable rides (I mean, I'd assume something extreme is necessary to get a
zero)...

My suspicion is that zero is equivalent to unrated, so shouldn't be in the
sum?

------
lawrencegs
I wonder if this reverse-rating system is only for US. Even though I'm from
US, I had only get the chance to use it abroad (Jakarta). And when I check it,
my rating is null. Is it something to do with the fact that Uber driver in
Jakarta are actually professional car-rental driver?

------
blake8086
So if you check this after every ride, you'll know exactly what everyone rated
you, right?

~~~
baddox
There's no guarantee that it's a simple arithmetic mean. They could weight by
recency or do any number of more complicated calculations.

~~~
Stasis5001
At the very least, if you're like most users who rate between 4 and 5, you can
most likely tell if the driver rated you a 5 (rating goes up) or below a 5
(rating goes down). It would take a pretty strange algorithm to violate that.
Of course, this only helps if your rating changes at all

~~~
smeyer
While this is likely to work much of the time, it wouldn't take a particularly
strange algorithm to break it. Consider an average rating that is just the
arithmetic mean of your last 10 rides. Your rating going up would just mean
your most recent rating was better than the rating 11 rides ago that it
displaced. If you got a 2 11 rides ago and a 3 on your last ride, your average
rating would go up despite getting a below-average rating.

~~~
Stasis5001
Sure. But to clarify, it seems like for most people, the ratings they receive
consist of mostly 5s, with rare outliers (anecdotally in this thread, it seems
most ratings are >= 4.5 and most are ~4.8). In that case, the odds of one
outlier pushing another outside the moving average window is pretty low.

------
saalweachter
Are there any drivers in the audience who can tell us what different ratings
mean?

~~~
madeofpalk
I'm not a driver, but I know enough about Uber to answer this...

Drivers are prompted to rate their passenger immeditely after the trip, in the
exact same manner as riders rate their driver. Then, when a trip is offered to
a driver, they're shown the potential customers rating (and other details),
then the driver will choose to accept the job or not

~~~
flog
I ask a lot of questions: The Uber training, apparently, is that driver's
should only ever rate their customers a 5, or a 1. That's it. A customer is
either great and a 5, or an asshat and a 1.

~~~
saryant
Then why didn't Uber make it binary?

~~~
Goopplesoft
To avoid a db migration ;)

------
thejerz
I live in Philadelphia and I've taken uber around 50 times. I have a 4.8.

------
rco8786
4.9!

I use uber multiple time per week and have for years. So I guess I'm not an
asshole.

~~~
tlrobinson
4.9 here too. I've been using them on average at least once a week since June
2010.

------
michaeldwan
I can't think of a single reason the user rating is hidden from the user. If
anything, knowing your score is low would help explain why rides are often
unavailable.

------
girvo
The site now says that the mobile site is unavailable. Perhaps they've taken
it down to fix this? I'm in Australia, so maybe that's it.

~~~
aroman
Worked fine for me just now. In the US.

------
taroth
Nice hack. I imagine using it to see if a driver gave me a good rating or not
based on the delta between my new score and old score.

~~~
aaln
lol, that's a great idea.

------
swang
I wonder if `window.Uber.pingData.client.activeExperiments` is the test groups
you're currently in at the moment...

------
Zhenya
Game's over - result is now null.

~~~
gravity13
Now I'll just need to figure it out the old fashioned way and sleep with an
Uber employee :(

------
burntcookie90
this is also visible if you view the source on m.uber.com, ctrl-f for
"rating".

~~~
acanals
no, it's not.

~~~
burntcookie90
It was in the place of this

<script> window.Uber = { development: false, jswLocale: 'en_US', pingData:
false, version: '3.0.0' }; </script>

------
joshwa
On my browser, the rating is at

    
    
        window.Uber.Ping.Client.attributes.rating

------
sunasra
dont they show officially?

------
corylehey
even easier method, ask your next Uber driver what your rating is.

------
mxpxrocks10
awesome- this was great. 4.9

------
mrvladnov
this is dope, got a 4.8

------
trekky1700
Awesome, happy to find I have a 5/5 too!

------
thrill
5.0 (I've never used the service - so it looks like it's all downhill from
here...)

------
aaln
We are on reddit!
[http://www.reddit.com/r/lifehacks/comments/2bx5dp/how_to_fin...](http://www.reddit.com/r/lifehacks/comments/2bx5dp/how_to_find_your_uber_passenger_rating/)

