2024-01-26

Analiza trendów zakupowych

Data Wrangling

Do przeprowadzenia kompletnej analizy naszej bazy danych potrzebujemy jej w formie, tzw. czystej. Dlatego musimy najpierw nadać odpowiedni kształt danym, ocenić braki, obserwacje ostające czy też zlokalizować i usunąć błędy.

Zmiana nazw kolumn

Zmieńmy nazwy poszczególnych zmiennych (kolumn), by ułatwić dalszą analizę.

Nazwy kolumn przed edycją Nowe nazwy kolumn
Customer ID id
Age age
Gender gender
Item Purchased item_purchased
Category category
Purchase Amount (USD) purchase_amount
Location location
Size size
Color color
Season season
Review Rating rating
Subscription Status subs
Shipping Type shipping
Discount Applied discount
Promo Code Used promo_code
Previous Purchases previous_purchase
Payment Method payment_method
Frequency of Purchases frequency_purchase

Usunięcie zbędnych kolumn

Dla naszej bazy danych, zniżka za dokonany zakup jest powiazana ze skorzystaniem z kodu promocyjnego. Poniżej widzimy, że wierszy, które dają tą samą informację w kolumnie promo_code i discount jest dokładnie tyle, ile wierszy w naszej tabeli.

Liczba rekordów w tabeli discount==promo_code
3900 3900

Zatem w dalszej analizie pominiemy kolumne promo_code:

trendy_zakupowe <- trendy_zakupowe %>% 
  select(.,-promo_code)

Zmiana typów danych

Baza danych z trendami zakupowymi zawiera wiele kolumn z jakościowymi zmiennymi. Oprócz tych nieuporządkowanych, wyróżnić można te binarne - kolumna gender - oraz te skategoryzowane - kolumna size. Dla nich zmieniono typ danych.

trendy_zakupowe$gender <- as.factor(trendy_zakupowe$gender)
class(trendy_zakupowe$gender)
## [1] "factor"
trendy_zakupowe$size <- factor(trendy_zakupowe$size, levels = c("XL","L","M","S"))
class(trendy_zakupowe$size)
## [1] "factor"

Ocena obserwacji brakujacych

Identyfikacje braków danych wykonamy przy użyciu polecenia find_na() - funkcja zwraca procentowy udział obserwacji brakujących w poszczególnych kolumnach tabeli.

brakujace <- as_tibble_row(find_na(trendy_zakupowe, rate=TRUE))
id age gender item_purchased category purchase_amount location size color season rating subs shipping discount previous_purchase payment_method frequency_purchase
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Jak widać, nasza baza danych jest kompletna (dla wszytskich kolumn udział braków wynosi 0%) i możemy przejść do kolejnych etapów.

Sprawdzenie poprawności danych

Rozpoczynamy od ogólnego spojrzenia, co zawarte jest w poszczególnych kolumnach tabeli, w pierwszej koleności, tych o charakterze ilościowym.

trendy_zakupowe_numeric <- trendy_zakupowe %>%
  select_if(is.numeric) 

summary_quantitative <- as_tibble(lapply(trendy_zakupowe_numeric, summary))
rownames(summary_quantitative) <- c("Min.", "1st Qu.", "Median", "Mean", "3rd Qu.", "Max.")
id age purchase_amount rating previous_purchase
Min. 1.00 18.00000 20.00000 2.500000 1.00000
1st Qu. 975.75 31.00000 39.00000 3.100000 13.00000
Median 1950.50 44.00000 60.00000 3.700000 25.00000
Mean 1950.50 44.06846 59.76436 3.749949 25.35154
3rd Qu. 2925.25 57.00000 81.00000 4.400000 38.00000
Max. 3900.00 70.00000 100.00000 5.000000 50.00000

Sprawdźmy, czy nasz zbiór danych zawiera wartości logiczne. Pod lupę weźmy zmienne Age, która nie powinna zawierać dane niemniejsze od 0 i niewiększe niż 100, Purchase Amount (USD)powinno zawierać wartości większe od 0, Previous Purchases powinno zawierać wartości niemniejsze od 0, a wartości z Rating powinny znaleźć się w przedziale 0.0 do 5.0.

RULE <- editset(c("0<=age", 
                  "age<=100",
                  "purchase_amount > 0", 
                  "previous_purchase >= 0",
                  "0.0 <= rating",
                  "rating <= 5.0"))
summary(violatedEdits(RULE, trendy_zakupowe))
## No violations detected, 0 checks evaluated to NA
## NULL

Nie wykryto żadnych nielogicznych wartości w naszych wybranych zmiennych.

Dla zmiennych jakościowych pierwszym krokiem będzie sprawdzenie, czy wszytskie wszystkie zmienne są jednakowo ponazywane (literówki, małe i wielkie litery)

Dodatkowo możemy sprawdzić czy logicznie przypisano kategorię ubraniową do zakupionego przedmiotu.

x <- table(trendy_zakupowe$category,trendy_zakupowe$item_purchased)
ramka_danych <- as.data.frame.matrix(x)
Backpack Belt Blouse Boots Coat Dress Gloves Handbag Hat Hoodie Jacket Jeans Jewelry Pants Sandals Scarf Shirt Shoes Shorts Skirt Sneakers Socks Sunglasses Sweater T-shirt
Accessories 143 161 0 0 0 0 140 153 154 0 0 0 171 0 0 157 0 0 0 0 0 0 161 0 0
Clothing 0 0 171 0 0 166 0 0 0 151 0 124 0 171 0 0 169 0 157 158 0 159 0 164 147
Footwear 0 0 0 144 0 0 0 0 0 0 0 0 0 0 160 0 0 150 0 0 145 0 0 0 0
Outerwear 0 0 0 0 161 0 0 0 0 0 163 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Tu również wszytsko sie zgadza.

Obserwacje odstające

Za pomocą wykresu boxplot sprawdźmy, czy zmienne o wartościach numerycznych zawierają wartości odstacjące.

Żadne z powyższych zmiennych nie zawierają zmiennych odstających.

Wizualizacja danych

Do kogo powinniśmy targetować swoją markę?

  1. Kto nas subskrybuje?

Wbrew powszechnym stereotypom, według których to kobiety kojarzy się z zamiłowaniem do zakupów, częstymi wizytami w sklepach oraz wszystkim co z kupnem odzieży związane, to mężczyźni są jedynymi subskrybentami naszego sklepu. Co więcej, to właśnie mężczyżni stanowią zdecydowaną większość klientów i stanowią aż 68% badanej próby. Wśród klientów było 1 248 kobiet i 2 652 mężczyzn, z czego prawie 40% miało wykupioną subskrypcję sklepu. Może to oznaczać, że analizowany sklep kieruje swoją ofertę głównie do płci męskiej, bądź działania marketingowe firmy nie są dostosowane do kobiet.

2. W jakim wieku są nasi klienci?

Powyższy wykres przedstawia liczbę klientów w poszczególnej grupie wiekowej oraz dodatkowo dostarcza informacji o tym jaki odsetek każdej grupy stanowią kobiety i mężczyźni. Analizując rysunek można wywnioskować, że najliczniejszą grupę klientów stanowią osoby w wieku od 18 do 30 lat. Rozkład płci w każdym z przypadków jest bardzo podobny, zazwyczaj z ponad dwukrotną przewagą mężczyzn. Największy procentowy udział kobiet zaobserwowano wśród klientów w wieku 41-50, gdzie kobiety stanowiły 34,4% całej grupy wiekowej. Największa przewaga mężczyzn występowała wśród klientów w przedziale od 51 do 60 roku życia, gdzie stosunek mężczyzn do kobiet stanowił prawie 7:3.

  1. Jak poszczególne grupy wiekowe oceniają nasz sklep?

Przedstawiony powyżej wykres obrazuje średnią opinię klientów w poszczególnych grupach wiekowych, w rozróżnieniu na osoby posiadające i nie posiadające subskrypcji. Klienci, a dokładniej mężczyźni z wykupioną subskrypcją, zostali przedstawieni za pomocą zielonego koloru, natomiast klienci bez subskrypcji kolorem szarym. Co ciekawe, zazwyczaj to właśnie ci drudzy lepiej oceniali produkty z oferty sklepu. Najwyższe średnie oceny zaobserwowano wśród najliczniejszej grupy klientów, czyli osób w wieku od 18 do 30 lat, a oceny zarówno wśród osób z subskrypcją i bez, oscylowały w granicach 3,8, z delikatnie wyższymi wartościami wśród osób nieposiadających subskrypcji. Najniższe przeciętne oceny wśród subskrybentów zaobserwowano w grupie osób z przedziału wiekowego 31-40, na poziomie ok. 3,68. Z kolei wśród klientów nie posiadających subskrypcji, najniższe opinie wystawiały osoby w wieku 51-60, na podobnym poziomie, ok. 3,67. W tych dwóch, wspomnianych przed chwilą grupach wiekowych, zauważono największe rozbieżność między ocenami.

Jakie są preferencje naszych klientów?

  1. Co kupują najczęściej?

Na podstawie powyższych wykresów można zauważyć, że preferencje dotyczące produktów są zależne od płci klienta. Żadna z kategorii nie powtórzyła się w obu przypadkach. Wśród kobiet do najpopularniejszych produktów należały torebki, bluzki, skarpety, koszule oraz sandały. Wśród mężczyzn przeważają spodnie, płaszcze, swetry, biżuteria oraz co ciekawe sukienki. Może to oznaczać, że wielu mężczyzn może kupować w sklepie prezenty dla swoich partnerek w postaci odzieży.

  1. Z jakiej metody dostawy i płatności korzystają?

Powyższe wykresy przedstawiają procentowy udział poszczególnych metod dostawy oraz płatności wśród wszystkich zamówień. W obu przypadkach do wyboru było 6 różnych opcji, a każda z nich była wybierana z bardzo podobną częstotliwością. Najpopularniejszą sporód metod dostawy okazała sie darmowa przesyłka, a najrzadziej wybierana była dostawa w 2 dni. Spośród dostępnych metod płatności najchętniej wybierano płatności za pomocą systemu PayPal, a najrzadziej tradycyjny przelew bankowy.

  1. Jak często klienci decydują się na zakup i czy różnice są zauważalne dla poszczególnych kategorii?

Jak można zauważyć z powyższego wykresu, częstotliwość kupna produktów delikatnie różni się w zależności od kategorii do której przynależą. Najczęściej kupowane są buty. Przeciętny klient sklepu kupuje obuwie oraz odzież wierzchnią raz na dwa tygodnie. W przypadku odzieży, klienci najczęściej decydują się na kupno raz na 3 miesiące. Akcesoria najczęściej kupowane są co kwartał, a najrzadziej klienci decydują się na taki zakup co tydzień.

Jak kształtuje się wielkość sprzedaży?

W którym stanie USA, nasza marka cieszy się największym zainteresowaniem?

  1. Wielkość sprzedaży w poszczególnych stanach:

The 10 most profitable states - purchase amount [USD]
Montana Illinois California Idaho Nevada Alabama New York North Dakota West Virginia Nebraska
5784 5617 5605 5587 5514 5261 5257 5220 5174 5172

Jak można zauważyć zarówno z wykresu jak i tabeli w większości stanów wielkość sprzedaży oscylowała w okolicach 5500$. W niewielu z jednostek geograficznych kwota spadała poniżej 4000$. Ze względu na dużą liczbę stanów, szczegółowo skupiono się tylko na 10 najbardziej dochodowych stanach, które zostały przedstawione w tabeli powyżej. Najwyższe przychody z kwotą 5 784$ odnotowano w Montanie, a kolejne miejsca na podium zajęło Illinois oraz Kalifornia.

  1. Skąd są nasi klienci? - 5 najlicznieszych i 5 najmniejlicznych stanów pod względem klientów

Na powyższym rysunku przedstawione zostało 5 stanów z największa oraz najmniejszą liczbą klientów. Ze względu na niewielką liczbę klientów, względne różnice nie są zbyt duże. Każdy ze stanów charakteryzuje się niewielkim procentowym udziałem w ogólnokrajowej sprzedaży. Największą liczbę klientów, dokładnie 96, odnotowano w Montanie, gdzie liczba klientów stanowiła 2,46% klientów z całego kraju, natomiast najmniejszą w Kansas oraz Rhode Island, z udziałem po 1,62% w ogólnej liczbie klientów. Kupujących z Montany było jedynie o 33 więcej, niż w dwóch najgorzej wypadających stanach, jednak było to aż o 52% osób więcej.

  1. Jakie kategorie sprzedaja się najlepiej?

Quantity of customers purchases
Clothing Accessories Footwear Outerwear
1737 1240 599 324

Tutorial do wizualizacji: https://r-charts.com/part-whole/ggparliament/

Na podstawie powyższych wizualizacji można zauważyć, że największym zainteresowaniem spośród asortymentu sklepu, cieszą się produkty z kategorii ubrania, które stanowią prawie 45% wszystkich zamówień. Na drugim miejscu, również z dość sporym udziałem, znalazły się akcesoria, które stanowiły ok. 32% wszystkich zakupów. Obuwie oraz odzież wierzchnia wypadły zdecydowanie gorzej i stanowiły jedynie ok. 15% oraz 8% wszystkich zamówień. Ze względu na brak informacji dotyczącej liczby produktów z poszczególnych kategorii w ofercie sklepu, uzyskane dane nie pozwalają na wyciągnięcie jakichkolwiek dalszych wniosków dotyczących efektywności sprzedaży którejkolwiek z kategorii.

Mimo iż w skali ogólnokrajowej to odzież była kupowana najczęściej, dane te, mniej lub bardziej, różniły się w każdym ze stanów. Przedstawione powyżej przypadki są idealnym tego przykładem. W każdym z 7 wymienionych stanów to właśnie akcesoria były najlepiej sprzedającą się kategorią z oferty sklepu. W wielu z nich zauważono też zmiany na ostatnim miejscu w rankingu. W Kentucky to obuwie należało do najrzadziej kupowanych produktów i wypadło dużo gorzej, niż odzież wierzchnia, która w skali ogólnokrajowej zajęła ostatnie miejsce.

Analiza opisowa

Statystyki opisowe

Dla kolumn zawierających dane ilościowe( z wyjątkiem kolumny id), liczymy podstawowe statystyki.

Mean Std.Dev Min Q1 Median Q3 Max Skewness Kurtosis
age 44.07 15.21 18.0 31.0 44.0 57.0 70 -0.0064 1.8049
previous_purchase 25.35 14.45 1.0 13.0 25.0 38.0 50 0.0031 1.8098
purchase_amount 59.76 23.69 20.0 39.0 60.0 81.0 100 0.0127 1.7635
rating 3.75 0.72 2.5 3.1 3.7 4.4 5 0.0045 1.8203

Korelacja pomiędzy wybranymi zmiennymi praktycznie nie istnieje.

Przedstawiono histogram z porównaniem rozkładu wieku klientów a poszczególnymi kategoriami zakupów. Na pierwszy rzut oka można stwierdzić, że nie mają one rozkładu normalnego. Ciekawym zjawiskiem jest fakt, że osoby w wieku z przedziału 45-60 chętniej kupują obuwie niż pozostali.

Przedstawiono histogram z porównaniem rozkładu wieku klientów a rozmiarami ubrań. Również nie charakteryzują się one rozkładem normalnym. Z wykresu można odczytać, że osoby w wieku z przedziału 30-50 zamawiają znacznie mniej ubrań w rozmiarze Extra-large (XL).

Przedstawiono histogram z porównaniem rozkładu ocen pozostawionych przez klientów a poszczególnymi sposobami dostaw wybranych przez klientów. Nie mają one rozkładu normalnego. Z wykresu można odczytać, że zamówienia z wybranym sposobem dostawy Przesyłka standardowa, charakteryzują się wysoką oceną (tj. średnio powyżej 4/5) w porównaniu do innych metod dostawy. Za to zamówienia z wybranymi opcjami Odbiór osobisty oraz Darmowa dostawa wydają się być oceniane niżej (średnio poniżej średniej ogólnej wynoszącej 3.75).

Przedstawiono histogram z porównaniem rozkładu ocen pozostawionych przez klientów a poszczególnymi sposobami płatności wybranych przez klientów. Nie mają one rozkładu normalnego.

Średnia ocena zakupu nie wydaje się zmieniać w zależności od płci oraz kolekcji z jakiej pochodzi dany zamówiony produkt.

Wnioskowanie statystyczne

Ze względu na specyfikę danych, które sprawiają wrażenie wręcz “zbyt idealnych” bądź nawet wygenerowanych w sposób sztuczny, większość badanych zależności okazało się nie być istotnymi statycznie, przy założeniu alpha=0,05. Większość analizowanych zmiennych przyjmowało bardzo podobne wartości, bez względu na inne badane cechy. Mimo trudności udało się zauważyć kilka ciekawych zależności, co zostało przedstawione poniżej.

Czy wielkość sprzedaży różni się istotnie w zależności od sezonu?

ggbetweenstats(
  data=trendy_zakupowe,
  x=season,
  y=purchase_amount)

Okazuje się, że przeciętna kwota złożonego zamówienia róźni się w zależności od pory roku. Najwyższe kwoty zaobserwowano podczas jesieni i zimy, na poziomie ok. 61,56$ i 60,36$ za zakupy. Zamówienia o najniższej średniej wartości na poziomie 58,41$ są składane w trakcie lata. Jest to kwota o ponad 5% niższą niż w trakcie jesieni. Niższe kwoty odnotowywane podczas wiosny i lata mogą jednak wynikać nie z mniejszej skłonności klientów do konsumpcji w tym okresie, a z faktu iż ubrania w tych sezonach są lżejsze i wykonane z mniejszej ilości materiałów, dzięki czemu ich ceny są niższe.

Czy wybór metody dostawy jest uzależniony od płci?

ggbarstats(
  data=trendy_zakupowe,
  x=shipping,
  y=gender)

Na podstawie wygenerowanego wykresu można wnioskować, że wybór odpowiedniej metody przesyłki jest zależny od płci klienta. Większe zróżnicowane zostało zauważone wśród kobiet. Mężczyźni wybierali każdą z dostępnych metod przesyłki z niemal równą częstotliwością, co jednakową popularność wszystkich metod dostawy. Kobiety zdecydowanie skłaniają się ku darmowej przesyłce, a najrzadziej wybierają przesyłkę z dnia na dzień. W celu większego zrozumienia i zbadania przyczyny występujących różnić niezbędne byłoby pozyskanie dodatkowych danyc dotyczących m. in. cen za poszczególne metody dostawy.

Czy ocena obuwia różni się istotnie w zależności od rozmiaru?

ggbetweenstats(
  data=buty,
  x=size,
  y=rating)

Wśród obuwia można zauważyć różne opinie w zależności od jego rozmiaru. Zdecydowanie najgorzej oceniane przez klientów okazały się buty w rozmiarze M ze średnim ratinigem na poziomie 3,71. Najlepiej, z średnią oceną prawie 4,0, czyli o prawie 8% lepiej wypadły buty w rozmiarze XL. Mediana ocen obuwia w rozmiarze XL była jednak jeszcze wyższa, ok 4,1. Uzyskane wyniki sugerują, że w pierwszej kolejności należałoby przejrzeć szczegółowe opinie klientów dotyczące obuwia w rozmiarze M, by zidentyfikować czy obserwowane wady faktycznie dotyczą tylko konkretnego rozmiaru, czy jednak wiąże się to z faktem, iż jest to naliczniejsza grupa z analizowanej grupy badawczej.

Podsumowanie

Wykonany raport miał na celu przeanalizowanie trendów zakupowych wśród klientów sklepu. Aby to osiągnąć przeprowadzono kompletną analizę bazy danych, obejmującą nadanie odpowiedniego kształtu danym, ocenę braków, identyfikację i usunięcie błędów. Zmieniono nazwy kolumn w celu ułatwienia dalszej analizy oraz typy danych dla kolumn z jakościowymi zmiennymi oraz usunięto zbędne kolumny, takie jak “promo_code”, która miała identyczne informacje co “discount”.

W celu sprawdzenia poprawności danych zbadano wartości logiczne dla zmiennych ilościowych, a dla zmiennych jakościowych sprawdzono jednolitość nazewnictwa i logiczność przypisanych kategorii. W bazie danych nie wykryto braków, a więc została uznana za bazę kompletna. Co więcej nie zaobserwowano żadnych wartości odstających. Przeprowadzone zostały również statystyki opisowe, w tym analiza korelacji między zmiennymi. Zidentyfikowano kilka ciekawych zależności, takich jak wpływ pory roku na wartość zamówień.

Identyfikacja grup docelowych 68% klientów to mężczyźni, co może sugerować, że oferta sklepu jest skierowana głównie do tej płci. Dodatkowo okazało się, że mężczyźni są głównymi subskrybentami sklepu. Najliczniejsza grupa klientów to osoby w wieku 18-30 lat.

Analiza zakupów wskazała różnice w preferencjach między płciami, np., kobietom najbardziej podobają się torebki, a mężczyznom spodnie. Co ciekawe, mężczyźni kupowali produkty nie tylko dla siebie, a przede wszystkim dla swoich partnerek, o czym świadczy wysoka popularność sukienek wśród klientów płci męskiej.

Najczęściej wybieraną metodą dostawy okazała się darmowa przesyłka, a najpopularniejszym środkiem płatności PayPal. Największe przychody odnotowano w Montanie, Illinois i Kalifornii. Najwięcej klientów w Montanie, najmniej w Kansas i Rhode Island.

Przeprowadzając wnioskowanie statystyczne okazało się, że większości przypadków, ze względu na specyfikę danych, zależności nie były istotne statystycznie. Odkryto m.in., że przeciętna kwota zamówień różniła się w zależności od pory roku, a oceny obuwia różniły się w zależności od rozmiaru.

Podsumowując, raport dostarcza kompleksowej analizy trendów zakupowych, identyfikuje grupy docelowe, preferencje klientów oraz pewne ciekawe zależności w danych. Analiza opisowa i statystyczna przyczyniły się do lepszego zrozumienia dynamiki rynku i mogą być podstawą dla dalszych działań marketingowych i strategicznych decyzji.