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ę?
- 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.
- 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?
- 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.
- 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.
- 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?
- Wielkość sprzedaży w poszczególnych stanach:
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.
- 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.
- Jakie kategorie sprzedaja się najlepiej?
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.