What are my customers telling me?

Date: November 22, 2015

Introduction

There is a lot of positive and negative feedback from about 366,000 users on the Yelp website for about 61,000 businesses in the form of 1.6 million reviews. That is a lot of reviews to read through in order to find how customers feel about a particular business and what they like or don't like about it. So the question arises -

How can one easily look at a summary of reviews to find what things people appreciate about the business and what are the pain points?

This analysis makes an attempt at answering this quesiton and shows one way to deal with all the information available in order to find the answer to the question - what are my customers telling me about my business?

Methods and Data

Objects used from the Yelp JSON dataset -

  • Business
  • Review

This analysis uses text mining algorithms like Bag-of-Words, Sentiment Analysis and Word Clouds to present the data as a visual summary for the user.

For a business we look at the number of reviews received over a period of time and the average range of star ratings using simple scatter plots as shown next.

The Sentiment Analysis score which is calculated by a simple algorithm that matches a lexicon opinion to determine positive and negative words in a review is plotted as a bar graph.

Results

plot of chunk unnamed-chunk-4

plot of chunk unnamed-chunk-5

Discussion

With this analysis we can quickly determine positive or negative sentiments expressed by the reviewers through their reviews.

Finally, a word cloud shows the keywords that the user would like to draw inference from.

plot of chunk unnamed-chunk-6

A real world implementation of this project would be a Shiny app that can dynamically display the results for selected parameters.