Professional Documents
Culture Documents
1. Profile the data by finding the total number of records for each of the tables
below:
2. Find the total distinct records by either the foreign key or primary key for
each table. If two foreign keys are listed in the table, please specify which
foreign key.
Note: Primary Keys are denoted in the ER-Diagram with a yellow key icon.
3. Are there any columns with null values in the Users table? Indicate "yes," or
"no."
Answer: No
4. For each table and column listed below, display the smallest (minimum), largest
(maximum), and average (mean) value for the following fields:
6. Find the distribution of star ratings to the business in the following cities:
i. Avon
+-------------+-------+
| star_rating | count |
+-------------+-------+
| 1.5 | 1 |
| 2.5 | 2 |
| 3.5 | 3 |
| 4.0 | 2 |
| 4.5 | 1 |
| 5.0 | 1 |
+-------------+-------+
ii. Beachwood
Copy and Paste the Resulting Table Below (2 columns – star rating and
count):
+-------------+-------+
| star_rating | count |
+-------------+-------+
| 2.0 | 1 |
| 2.5 | 1 |
| 3.0 | 2 |
| 3.5 | 2 |
| 4.0 | 1 |
| 4.5 | 2 |
| 5.0 | 5 |
+-------------+-------+
+----------+----------+----------------------+-----------------+
| Range | NumUsers | Average_review_count | average_numfans |
+----------+----------+----------------------+-----------------+
| 0-9 | 9690 | 15.0085655315 | 0.447265221878 |
| 10-99 | 294 | 283.326530612 | 25.5986394558 |
| 100-1000 | 16 | 891.5 | 189.75 |
+----------+----------+----------------------+-----------------+
Select Range,
Count(*) as NumUsers,
Avg(review_count) as Average_review_count,
Avg(fans) as average_numfans
From (Select case
when fans between 0 and 9 then '0-9'
When fans between 10 and 99 then '10-99'
Else '100-1000'
END as Range, review_count, fans
From User)
group by Range;
9. Are there more reviews with the word "love" or with the word "hate" in them?
Answer: Love
1. Pick one city and category of your choice and group the businesses in that city
or category by their overall star rating. Compare the businesses with 2-3 stars to
the businesses with 4-5 stars and answer the following questions. Include your
code.
i. Do the two groups you chose to analyze have a different distribution of hours?
select
Case
When business.stars >=4.0 Then '4-5 stars'
when business.stars >=2.0 then '2-3 stars'
else 'less than 2 hours'
end as Star_Rating,
count(distinct business.id) as BUSINESSID,
Count(distinct hours) as OPENINGDAYS, --finding out openeing days
Count(distinct hours)/count(distinct business.id) as AverageOpeningDays
From ((business inner join hours on business.id=hours.business_id) Inner join
Category on business.id=category.business_id)
where business.city='Phoenix' and Category.category='Food'
group by star_rating;
+-------------+------------+-------------+--------------------+
| Star_Rating | BUSINESSID | OPENINGDAYS | AverageOpeningDays |
+-------------+------------+-------------+--------------------+
| 2-3 stars | 1 | 7 | 7 |
| 4-5 stars | 1 | 7 | 7 |
+-------------+------------+-------------+--------------------+
Conclusion- Distributions of hours is equal for both 2-3 star business and 4-5 star
business for the city phoenix and for the category food.
ii. Do the two groups you chose to analyze have a different number of reviews?
select
Case
When business.stars >=4.0 Then '4-5 stars'
when business.stars >=2.0 then '2-3 stars'
else 'less than 2 hours'
end as Star_Rating,
count(distinct business.id) as BUSINESSID,
Sum(Review_count) as TotalReviews,
(Sum(Review_count)/count(distinct business.id)) as AverageReviews
From (business Inner join Category on business.id=category.business_id)
where business.city='Phoenix' and Category.category='Food'
group by star_rating;
+-------------+------------+--------------+----------------+
| Star_Rating | BUSINESSID | TotalReviews | AverageReviews |
+-------------+------------+--------------+----------------+
| 2-3 stars | 2 | 66 | 33 |
| 4-5 stars | 2 | 435 | 217 |
+-------------+------------+--------------+----------------+
Conclusion- Yes, Average number of reviews for 4-5 star business are a little more
than double than 2-3 star business.
iii. Are you able to infer anything from the location data provided between these
two groups? Explain.
+-------------+----------------------------------------+-------------
+-----------------------------+---------+
| Star_Rating | name | postal_code | address
| city |
+-------------+----------------------------------------+-------------
+-----------------------------+---------+
| 4-5 stars | Bootleggers Modern American Smokehouse | 85028 | 3375 E Shea
Blvd | Phoenix |
| 2-3 stars | Safeway Food & Drug | 85053 | 3450 W Bell
Rd | Phoenix |
| 2-3 stars | Starbucks | 85048 | 4605 E
Chandler Blvd, Ste A | Phoenix |
| 4-5 stars | Water N Ice | 85029 | 4212 W
Cactus Rd, Ste 1114 | Phoenix |
+-------------+----------------------------------------+-------------
+-----------------------------+---------+
2. Group business based on the ones that are open and the ones that are closed.
What differences can you find between the ones that are still open and the ones
that are closed? List at least two differences and the SQL code you used to arrive
at your answer.
i. Difference 1: The number of business open are a lot more than business that are
closed, and are also open for more number of days
ii. Difference 2: Average stars and the number of reviews is also greater for open
businesses
3. For this last part of your analysis, you are going to choose the type of
analysis you want to conduct on the Yelp dataset and are going to prepare the data
for analysis.
Ideas for analysis include: Parsing out keywords and business attributes for
sentiment analysis, clustering businesses to find commonalities or anomalies
between them, predicting the overall star rating for a business, predicting the
number of fans a user will have, and so on. These are just a few examples to get
you started, so feel free to be creative and come up with your own problem you want
to solve. Provide answers, in-line, to all of the following:
Which Category has the most businesses and is the most popular category. Also,
which category is the most successful among the category with more than 10
businesses
ii. Write 1-2 brief paragraphs on the type of data you will need for your analysis
and why you chose that data:
The category 'Resturants' has the greateast number of business and is also open the
maximum number of days and is the most popular category.
The most successful business is Food because it has the biggest number of reviews
and still the average star rating is considerably high.
'Local Services' and 'Health and Medical' have the greatest number of star ratings
but are open the least number of days and the average number of reviews is
considerably low as compared to other categories.
iv. Provide the SQL code you used to create your final dataset: