Building a tool to assess business performance based on customer reviews

Jonathan Leslie
22 November, 2015

Motivation

For the business owner:

  • A wealth of consumer information is available on websites such as Yelp.
  • The texts of customer reviews may be the most useful source of customer satisfaction data.
  • To manually read and internalize many customer reviews can be tedious and inefficient.
  • It may be difficult to digest the information contained in hundreds of reviews and gain a clear understanding of business performance.

Objective

To develop a tool that can help the business owner make better sense of customer review data.

Here's how it works:

For an individual business (queried by business ID number in Yelp):
1. Assess general trends in customer satisfaction
2. Use text-mining techniques to extract keywords associated with positive or negative reviews

1. Assessing trends in customer satisfaction

This plot shows average star ratings (averaged monthly) for one business (business id: 2WHP5nhS1rFszfRBKe6fWQ) over time.

A linear regression model can be used to measure the trend.

2. Examining keywords


  • Reviews for an example business placed into “good” and “bad” groups (based on star rating).
  • Employing text-mining techniques, we can examine word usage in each group.
  • While many words are uninformative (eg. “food”), others appear more often in bad reviews than good ones (eg. “order”, “servic”, “menu”), suggesting that service may be an area where this business is falling short.