Sunday, 28 October 2012

Q:Google's biggest problem today? A:Non-existent Customer Service

Despite the recent unveiling of the new iPad mini, I would maintain that Google's Nexus 7 tablet represents superior value for money. Granted it weighs a little more and lacks a front camera, but it's over £100 cheaper and that includes a quad-core processor!

But there lies a fatal flaw. While the likes of Apple and Amazon have customer service down to a fine art, Google appears to be living on another planet. Imagine an Amazon order that arrived broken, faulty or late. In almost every case, they would immediately despatch a replacement or issue a refund. Problem solved.

My recent experience with Google has taken over a month to reach a similar conclusion.

Part 1: The Order*

I placed an order for a Google Nexus 7 Tablet on the 18th of September. Money was taken from my account and my tablet dispatched with an accompanying TNT tracking number. Unfortunately, this tracking number was invalid. After several days I phoned Google customer service to make some enquires.

The customer service agent informed me that the tracking number provided was incorrect. I knew this already. The customer service advisor then 'advised' me to phone TNT to retrieve the correct tracking number. I suggested that it might make more sense for them to contact TNT on my behalf and call me back. The advisor didn't like this idea. After some negotiation, he put me on hold. Five minutes later, he terminated the call.

Lesson 1 in customer service for Goolge: When you make a mistake as a retailer, do not expect the customer to correct that mistake. 

So anyway, I phoned TNT and finally got my tracking number. It turned out they had attempted delivery and would not be able to deliver again until the following Monday. This was unfortunate as the tablet was meant to be a gift and so I asked TNT to return the tablet to Google. I then swiftly emailed Google who confirmed that I would receive a full refund after the item had been returned. This would take between 1 and 14 days.



TNT's tracking confirmed that Google received the item on the 24th of September, but 14 days elapsed and still no refund appeared. Google then stopped replying to emails.

Additional lessons in customer service: 
-Take a leaf out of Amazons book. When an item is returned unopened, a refund should be processed within 48 hours.
-A retailer must fulfil promises made to customers.
-Most large online retailers reply to customer emails within 4 working hours.

Finally, I again phoned customer service who informed me that someone would look into this asap. This annoyed me further as I wonder how long they would have attempted to keep my money if I hadn't got in touch. Clearly, no-one had done anything until I picked-up the phone. However, to their credit I received an email on the 16th of October (the next day) to confirm my refund had been processed.

This refund took until the 27th of October to appear in my account.

A final lesson in customer service: It should never take an entire month to process a refund.

Google has a big problem here. They almost appear uninterested in serving customers. At every stage their service is slow, inefficient and on one occasion, just plain rude!

Isn't it ironic that I am perfectly happy (and very grateful) for the free services that Google provide. The list is endless. A calendar, email, search, and web analytical services.....the list goes on. But after spending some money on a company that I thought I could trust, it all went very wrong. How annoying.



*The observant amongst you will notice that there is no 'Part 2'. This is because I have yet to risk a second purchase!

Sunday, 14 October 2012

Kernel Density Plots: Has the histogram had its day?

Simple statistical concepts include the mean, median, standard deviation, and percentiles. These are useful for summarising data. Except these summary statistics are only useful under certain circumstances. When basic assumptions are not met, then any conclusions based on simple summary statistics are likely to be inaccurate. Unable to give a hint as to what is wrong, the numbers can often look perfectly reasonable.

Lets consider a sample of 64 reaction time observations (in milliseconds):

Mean = 387ms
Median = 340ms

These look ok, until you view the distribution, which is not unimodal. 
Despite being a staple in data visualisation, histograms can often be a poor method for determining the shape of a distribution because they are strongly affected by the number of bins used. For example, visualising the same data with only four bins can make the same observations appear normally distributed. Similarly, a box-plot can also hide data irregularities and, like histograms, they do not handle outliers gracefully. 

Histograms are however, easy to understand and calculate. But the fact that something is easy and popular doesn't make it right. 

So is there an alternative?

Well yes there are several, but I think Kernel Density plots (KDP) are a more effective way to illustrate the distribution of a variable. This is now surprisingly easy to do. To form a *KDP, a kernel - that is, a smooth, strongly peaked function - is placed at the position of each data point. The contributions from all kernels are added to obtain a smooth curve, which can be evaluated at any point along the x-axis.

Taking the same data set, a Kernel Density Plot is interpreted in a similar manner to a histogram, but avoids the problems outlined earlier.


KDEs require the power of a relatively modern computer to be effective. They cannot be done 'by hand'. Being able to compute KDEs is only possible thanks to the accessibility of modern computing, which in turn provides a new way to think about data. However, they should only be used with larger data sets, as the smoothing can lead to misleading artefacts. There is also a danger in changing things just for the sake of it!


'The purpose of computing is insight, not pictures
L. N. Trefethen 




Update 15/10/2012
A colleague at work pointed out today that that kernel functions come in a variety of flavours. 

Update 13/10/2013**
Bandwidth may need to be adjusted in some instances. However, R is pretty good at selecting a default that will accomodate most data sets.






*To produce KDEs for a given variable 'x' and a  KD plot in R, use the following code:

d <- density(x) # returns the density data
plot(d, main='Kernal Density Plot') # plots the graph

**to specify bandwidth:


plot(d, main='Kernal Density Plot', bw=#) # plots the graph