The data I am analyzing today comes from Crawl Feeds. It displays customer review data from GameStop, showing information like customer review, rating, average rating, and even review link.
Today I plan to explore if factors such as recommendation have had any significant impact on the customer sentiment of any of the products that were purchased at GameStop. (I want to see If there is any correlation between reviews and customer perception)
Rows: 4686 Columns: 21
── Column specification ────────────────────────────────────────────────────────
Delimiter: ","
chr (13): url, name, brand, reviewer_name, review_title, review_description,...
dbl (8): index, sku, helpful_count, not_helpful_count, rating, average_rati...
ℹ Use `spec()` to retrieve the full column specification for this data.
ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
#loading libraries/dataset
#inspecting data (I already have but it's nice to peek the head again like this before starting)head(gamestopsales)
# A tibble: 6 × 21
index url name brand sku reviewer_name review_title review_description
<dbl> <chr> <chr> <chr> <dbl> <chr> <chr> <chr>
1 0 https:… VIZI… VIZIO 328244 Leeford <NA> "My new OLED is a…
2 1 https:… VIZI… VIZIO 328244 DJM7 Great looki… "Rating is really…
3 2 https:… VIZI… VIZIO 328244 EC82 Quality "I’m quite please…
4 3 https:… VIZI… VIZIO 328244 Weeto Unbelievabl… "I’ve only had my…
5 4 https:… VIZI… VIZIO 328244 LexusSC400 Vizio OLED "The picture is v…
6 5 https:… VIZI… VIZIO 328244 Ninjaafro Bugs "Picture quality …
# ℹ 13 more variables: recommended_review <chr>, verifed_purchaser <chr>,
# helpful_count <dbl>, not_helpful_count <dbl>, reviewed_at <chr>,
# images <chr>, rating <dbl>, average_rating <dbl>, reviews_count <dbl>,
# reviews_link <chr>, comment_id <dbl>, uniq_id <chr>, scraped_at <chr>
gamestopsales
# A tibble: 4,686 × 21
index url name brand sku reviewer_name review_title review_description
<dbl> <chr> <chr> <chr> <dbl> <chr> <chr> <chr>
1 0 https… VIZI… VIZIO 328244 Leeford <NA> "My new OLED is a…
2 1 https… VIZI… VIZIO 328244 DJM7 Great looki… "Rating is really…
3 2 https… VIZI… VIZIO 328244 EC82 Quality "I’m quite please…
4 3 https… VIZI… VIZIO 328244 Weeto Unbelievabl… "I’ve only had my…
5 4 https… VIZI… VIZIO 328244 LexusSC400 Vizio OLED "The picture is v…
6 5 https… VIZI… VIZIO 328244 Ninjaafro Bugs "Picture quality …
7 6 https… VIZI… VIZIO 328244 von R Glass like … "Image is so clea…
8 7 https… VIZI… VIZIO 328244 Ohio Erik Amazing 4k … "I purchased this…
9 8 https… VIZI… VIZIO 328244 jonck Great featu… "I got this today…
10 9 https… VIZI… VIZIO 328244 Bob279 Great pictu… "Best price on an…
# ℹ 4,676 more rows
# ℹ 13 more variables: recommended_review <chr>, verifed_purchaser <chr>,
# helpful_count <dbl>, not_helpful_count <dbl>, reviewed_at <chr>,
# images <chr>, rating <dbl>, average_rating <dbl>, reviews_count <dbl>,
# reviews_link <chr>, comment_id <dbl>, uniq_id <chr>, scraped_at <chr>
#trying to view the amount of reviews for every product#not a very clear plot and is not well displayed or formattedtable(gamestopsales$name)
Aluratek Fast Charge Black Power Bank with Dual USB and Single USB-C Ports 20000mAh
1
Angry Birds: Star Wars - Xbox One
5
Atari Flashback Classics Vol 3 - PlayStation 4
5
Barbie Groom and Glam Pups - Nintendo DS
4
Batman: Arkham Asylum and Batman: Arkham City Dual Pack - Xbox 360
3
Battlefield 1
8
Big Rumble Boxing: Creed Champions - Xbox One
1
Bioworld Merchandising Batman Bifold Wallet
1
Borderlands 2
15
Brothers in Arms: Earned in Blood
1
Cabela's The Hunt Tournament Edition - Nintendo Switch
1
Collective Minds Switch Up Game Enhancer for Nintendo Switch
10
Create-a-Space Storage Center 10 Piece Set
22
Dark Pictures: Man of Medan - PlayStation 4
122
Diamond 3D Crystal Puzzle 43 Piece
2
DOOM - Nintendo Switch
151
Energizer MAX Alkaline Batteries 8 Pack - D
424
ENHANCE Flexible LED Gaming Headset Stand
1
EPOS H3 Hybrid Wired Closed Acoustic Universal Gaming Headset
4
F1 2015 - Xbox One
2
Fallout 4 - PlayStation 4
374
FINAL FANTASY TYPE-0 HD
35
Five Nights at Freddy's: Sister Location Funtime Foxy Plush
1
Fortnite Solo Mode Core Ex Series 8 Action Figure
1
Forza Horizon 4 - Xbox One
90
Funko POP! Games: Halo Infinite Master Chief
7
Funko POP! Games: Pokemon Pikachu (Sitting) 3.75-in Vinyl Figure
8
Funko POP! Marvel's Spider-Man: Miles Morales - Miles Morales Bodega Cat Suit 4.5-in Vinyl Figure
1
Funko POP! Marvel: Eternals Sersi Figure
1
Funko POP! Train Deluxe: The Nightmare Before Christmas Jack in Train Engine 4.5-in Vinyl Figure
2
Funko Pop! TV: The Simpsons Belly Dance Homer 2021 FunKon Exclusive 4.75-in Vinyl Figure
11
Funko POP! WWE: Stone Cold Steve Austin with Belt Metallic 3.75-in Vinyl Figure
4
Garmin Venu Sq Music Smartwatch
90
Ghostbusters Stay Puft Marshmallow Man Inflatable Adult Costume
1
GPX 90-in Indoor/Outdoor Projector Screen with Stand
2
Hasbro Marvel Legends Series Deadpool Collection Shiklah 6-in Action Figure
4
Hasbro Power Rangers Dino Charge Green Ranger Lightning Collection 6-in Action Figure
1
Hasbro Star Wars: The Black Series Deluxe Episode I: The Phantom Menace Jar Jar Binks 6-in Action Figure
3
Hasbro Star Wars: The Black Series Rogue One: A Star Wars Story Jyn Erso 6-in Action Figure
2
Hasbro Star Wars: The Black Series The Clone Wars Phase I Clone Trooper 6-in Action Figure
4
Honey-Can-Do Floating Wall Shelf
13
Hunting Simulator - PlayStation 4
19
Hyperkin Duke Wired Controller for Xbox One Green GameStop Exclusive
49
I Need My Space Astronaut Word Art Mens Hooded Sweatshirt
1
Injustice: Gods Among Us Ultimate Edition - Xbox 360
27
iPhone 12 Pro 128GB - Verizon
30
Ja-Ru Squish Attack Squooshy Sphere Glow Assortment
3
Jada Toys Hollywood Rides Sesame Street 1962 Volkswagen Bus 1:24 Scale Die-Cast Car with Talking Cookie Monster Figure
1
Just Dance 2022 - PlayStation 4
3
JVC Dynamic Sound High-Grade Full-Size Headphones
1
KidKraft Backyard Sandbox Espresso
1
KidKraft Grand Anniversary Dollhouse
21
KidKraft Modern Table and 2 Chair Set White
10
KidKraft Wall Storage Unit with 8 Plastic Bins White
9
Kung Fu Panda: Showdown of Legendary Legends - PlayStation 4
11
LEGO Batman: The Videogame - PlayStation 3
28
LEGO Star Wars: The Skywalker Saga Deluxe Edition - Xbox One
1
Leisure Suit Larry: Reloaded
1
License 2 Play Toys Cats vs Pickles Mystery Collectible 3-in Figure
1
LucidSound LS35X Black Direct Connect Wireless Gaming Headset for Xbox One
16
Luigi's Mansion 3 Plus Multiplayer Pack Bundle
3
Madagascar 3: The Video Game - PlayStation 3
1
Mass Effect 3
18
McFarlane Toys Batman Beyond Shriek Unmasked DC Multiverse 7-in Action Figure
2
Michael Jackson The Experience - Nintendo Wii
92
Microsoft Flight Simulator
5
Microsoft Wireless Controller for Xbox Series X 20th Anniversary Special Edition
34
Microsoft Xbox Elite Series 2 Wireless Controller for Xbox Series X Halo Infinite
82
Mortal Kombat Vs. DC Universe - PlayStation 3
10
Mothergunship - PlayStation 4
7
MXGP 3: The Official Motocross Videogame - Nintendo Switch
8
NBA Boston Celtics Larry Bird Plush 10 in
2
Nerf Elite 2.0 Flipshots Flip-8 Blaster
11
Nerf Halo Bulldog SG Dart Blaster
13
Nerf Halo SPNKr MicroShot
1
NES Controller Metal Water Bottle
4
Nintendo Switch Joy-Con (L) Wireless Controller Neon Blue
157
Not Fast, Not Furious T-Shirt
2
Okami HD - PlayStation 4
50
Piggy Soldier Series 1 Buildable Figure
1
Plants vs. Zombies - Xbox 360
54
PlayStation X Like It's 94 T-Shirt
13
PNP Depot AA USB Rechargeable Lithium Batteries 4 Pack
4
Pokemon Black - Nintendo DS
339
PowerA Enhanced Wireless Controller for Nintendo Switch Link Gold
31
Puyo Puyo Tetris 2 Launch Edition - Xbox One
1
Quantic Dream Collection - PlayStation 4
92
Rayovac High Energy Alkaline Batteries 4 Pack - D
76
Red Dead Redemption 2: Ultimate Edition
2
Remnant: From the Ashes - PlayStation 4
12
RICO - Nintendo Switch
1
RIG 800HS Wireless Gaming Headset for PlayStation 4
223
Samsung 49-in Super Ultra-Wide Dual QHD (5120x1440) 120Hz Curved Gaming Monitor C49RG9
410
Samsung Odyssey CRG5 24-in 1920x1080 144Hz Curved Gaming Monitor
79
Senran Kagura Peach Beach Splash - No Shirt, No Shoes, All Service Edition
38
Skinit Orange Carbon Fiber Skin Bundle for PlayStation 5
1
SnipperClips Cut Out Upgrade
1
Sony PlayStation 5 HD Camera
30
Spider-Man Maximum Venom Miles Morales Titan Hero Series Figure
3
Spirit of the North - PlayStation 5
2
SpongeBob Squarepants: Revenge of the Flying Dutchman - GameCube
2
Star Wars Episode IX: The Rise of Skywalker Supreme Leader Kylo Ren Force FX Elite Lightsaber
22
Star Wars The Force Unleashed: Ultimate Sith Edition - Xbox 360
10
STORY OF SEASONS: Friends of Mineral Town - PlayStation 4
5
Supreme Commander 2
22
Sword Art Online: Fatal Bullet - PlayStation 4
82
The Elder Scrolls Online Tamriel Unlimited 5,500 Crowns
1
The Legend of Zelda: A Link Between Worlds - Nintendo 3DS
168
The Simpsons Game - PlayStation 3
11
The Sims 4: Tiny Living Stuff Pack
1
Thief - Xbox One
68
Top Secret Gargantuan Mystery Gift Box 35 Items
2
Truck Racing Championship - PlayStation 4
7
Turtle Beach Recon 70 Wired Gaming Headset for PlayStation 5 White
4
VIZIO 55-in Class OLED 4K HDR Smart TV OLED55-H1
233
WITHit Dabney Lee Apple Watch 38/40/41mm Band Flower Child
25
Wizard101 Heavenly Palace Bundle Card
9
WIzard101 Pet Trainer Bundle Card
6
WRC 8 FIA World Rally Championship - PlayStation 4
7
WWE 2K19 - PlayStation 4
206
WWE 2K19 Season Pass
1
Yakuza: Like a Dragon Day One Edition - Xbox One
10
Yok Ultimate Case XL for Nintendo Switch
5
Yoshi's Crafted World - Nintendo Switch
193
#slightly better but still not super clear #there are too many products, so I think a legend is needed for readabilityggplot(gamestopsales, aes(x = name))+geom_bar()
#Average rating of brands sold at GameStop#I figured that filtering the data by brand instead of individual product would give me a better idea of which products are #The only issue is that my legend is on a scale of 0 to 4000 which I am stumped to fixlibrary(viridis)library(treemap)treemap(gamestopsales,index="brand",vSize="average_rating",vColor="average_rating",type="value",title ="Average Rating of Various Brands Sold at GameStop",title.legend ="Average Rating of each Product by Brand")
#Filtering Nintendo data as a sample to verify the rating score and make sure the treemap is not measuring on a different value#The error seems to lie with only the legend fortunately, I believe it is a default set by the treemapNintendo_Data <- gamestopsales[gamestopsales$brand =="Nintendo",]Nintendo_Data
# A tibble: 861 × 21
index url name brand sku reviewer_name review_title review_description
<dbl> <chr> <chr> <chr> <dbl> <chr> <chr> <chr>
1 20 https… Yosh… Nint… 191609 Pitbull91101 Yoshi switc… "Yoshi game was a…
2 21 https… Yosh… Nint… 191609 Mykd Awesome gam… "Great game. You …
3 22 https… Yosh… Nint… 191609 Chigg Awsome game… "My son loves to …
4 23 https… Yosh… Nint… 191609 Prieto56 Awesome Gam… "The game is grea…
5 24 https… Yosh… Nint… 191609 Iz B Poochy "It would be bett…
6 25 https… Yosh… Nint… 191609 Angel Marred Not bad "It's cute and fu…
7 26 https… Yosh… Nint… 191609 Derrick Evans Opinion on … "Good game includ…
8 27 https… Yosh… Nint… 191609 Jeremy Green Another Win… "The quirky style…
9 28 https… Yosh… Nint… 191609 Carl78 Good game "She loves it goo…
10 29 https… Yosh… Nint… 191609 Alejandro Ri… Best Ninten… "Yoshi‘s crafted …
# ℹ 851 more rows
# ℹ 13 more variables: recommended_review <chr>, verifed_purchaser <chr>,
# helpful_count <dbl>, not_helpful_count <dbl>, reviewed_at <chr>,
# images <chr>, rating <dbl>, average_rating <dbl>, reviews_count <dbl>,
# reviews_link <chr>, comment_id <dbl>, uniq_id <chr>, scraped_at <chr>
#separating the products based on whether or not they would have been recommended to other customers or notrecommendations_yes <- gamestopsales[gamestopsales$recommended_review =="yes: I recommend this product",] recommendations_no <- gamestopsales[gamestopsales$recommended_review =="No: I don’t recommend this product",]recommendations_yes
# A tibble: 3,221 × 21
index url name brand sku reviewer_name review_title review_description
<dbl> <chr> <chr> <chr> <dbl> <chr> <chr> <chr>
1 0 https… VIZI… VIZIO 328244 Leeford <NA> "My new OLED is a…
2 1 https… VIZI… VIZIO 328244 DJM7 Great looki… "Rating is really…
3 2 https… VIZI… VIZIO 328244 EC82 Quality "I’m quite please…
4 3 https… VIZI… VIZIO 328244 Weeto Unbelievabl… "I’ve only had my…
5 4 https… VIZI… VIZIO 328244 LexusSC400 Vizio OLED "The picture is v…
6 6 https… VIZI… VIZIO 328244 von R Glass like … "Image is so clea…
7 7 https… VIZI… VIZIO 328244 Ohio Erik Amazing 4k … "I purchased this…
8 8 https… VIZI… VIZIO 328244 jonck Great featu… "I got this today…
9 9 https… VIZI… VIZIO 328244 Bob279 Great pictu… "Best price on an…
10 10 https… Micr… Micr… 307392 NuggetsOne Awesomeness! "Just like the el…
# ℹ 3,211 more rows
# ℹ 13 more variables: recommended_review <chr>, verifed_purchaser <chr>,
# helpful_count <dbl>, not_helpful_count <dbl>, reviewed_at <chr>,
# images <chr>, rating <dbl>, average_rating <dbl>, reviews_count <dbl>,
# reviews_link <chr>, comment_id <dbl>, uniq_id <chr>, scraped_at <chr>
recommendations_no
# A tibble: 1,465 × 21
index url name brand sku reviewer_name review_title review_description
<dbl> <chr> <chr> <chr> <dbl> <chr> <chr> <chr>
1 5 https… VIZI… VIZIO 328244 Ninjaafro Bugs Picture quality i…
2 13 https… Micr… Micr… 307392 RootM0d Beautiful d… At first I was as…
3 16 https… Micr… Micr… 307392 Ryan CIN3MAT… Beautiful E… This controller h…
4 20 https… Yosh… Nint… 191609 Pitbull91101 Yoshi switc… Yoshi game was aw…
5 21 https… Yosh… Nint… 191609 Mykd Awesome gam… Great game. You w…
6 22 https… Yosh… Nint… 191609 Chigg Awsome game… My son loves to p…
7 23 https… Yosh… Nint… 191609 Prieto56 Awesome Gam… The game is great…
8 24 https… Yosh… Nint… 191609 Iz B Poochy It would be bette…
9 25 https… Yosh… Nint… 191609 Angel Marred Not bad It's cute and fun…
10 26 https… Yosh… Nint… 191609 Derrick Evans Opinion on … Good game includi…
# ℹ 1,455 more rows
# ℹ 13 more variables: recommended_review <chr>, verifed_purchaser <chr>,
# helpful_count <dbl>, not_helpful_count <dbl>, reviewed_at <chr>,
# images <chr>, rating <dbl>, average_rating <dbl>, reviews_count <dbl>,
# reviews_link <chr>, comment_id <dbl>, uniq_id <chr>, scraped_at <chr>
#made a 2nd visualization in which I used both split datasets to create a histogram bar chart for each dataset #library(viridis)recommendations_yes |>head(500) |>ggplot(aes(x=brand, y = recommended_review, fill = brand)) +geom_bar(stat ="identity") +geom_col() +theme_void()
recommendations_no |>head(500) |>ggplot(aes(x=brand, y = recommended_review, fill = brand)) +geom_bar(stat ="identity") +geom_col() +theme_void()
gamestopsales |>head(500) |>ggplot(aes(x=brand, y = recommended_review, fill = brand )) +geom_bar(stat ="identity") +geom_col() +theme_void() #not a very great main visual
First_100_Reviews <- gamestopsales[1:500,] #learned in 101 dataggplot(data = First_100_Reviews) +geom_bar(aes(x=brand, y=rating, fill = brand),position ="dodge", stat ="identity") +labs(fill ="Brands",y ="Ratings",title ="Ratings of Products by Brand (Both Yes and No)",caption ="Source: Crawl Feeds") +theme_minimal()
For this dataset, I did not have to clean up, I was not using data in a way where the empty values in columns such as “verified_purchaser” got in the way since they were not relevant to what I was trying to unfold. The first visualization displays a treemap of customer average ratings by brand, the darker the brand square, the more high ratings they had. The second visual, I had to create 2 new datasets splitting the people who would and would not recommend products. I made bar graphs for both so that I could then compare it against a more detailed 3rd bar graph that displayed customer ratings by brand. I used a sample data of the first 500 observations for all 3 graphs in my 2nd visual. Based on that, I did find it surprising that depite brands like Nintendo that had a vast amount of reviews that would not recommend their products, it still had some of the most highly reviewed products. Only Ja-Ru had a positive correlation with customer recommendation and rating, whereas some of the rest were negative. One thing I do regret not being able to do is fixing the legend in my treemap in my first visual because the range is wrong, however the actual y axis measure is not wrong. I also was unable to implement a caption to my treemap visual.