上一篇老闆已經知道該進什麼貨了!但老闆說每一個品牌的產品都有價錢高低之分,只給品牌似乎不夠,要能知道消費者能接受的價位品牌,老闆怎麼說也沒錯!
直接上ggplot依據既有消費數據能區分價錢的級距
ggplot(data = Month2016SalesTop,mapping = aes(x=brand,y=Month,fill=Income))+
geom_bar(stat = "identity")+
coord_flip()
所以消費行為的金額區間為4萬-8萬、8萬-12萬、12萬以上三個區間各品牌坐落於價格區間的位置;從上圖中發現沒12月份的金額,在上面做每月的銷售金額就沒12月份,因為2016年沒有12月份,其他年度皆有12月份。
拉回來!那有沒有可以看到品牌明確坐落位置區間,上圖中還是須人工對應,是不是就可一眼看出
ggplot(data = Month2016SalesTop,mapping = aes(x=Month,y=Income,color=brand))+
geom_point()+
coord_polar()
從上圖可以看到消費者大部分的品牌銷售總額都4萬元以下的區間,其中novica銷售總額約12萬,而這些品牌是薄利多銷還是單價很貴,就延伸下一個問題
因此老闆知道在2016年銷售最好,依據該年度消費者喜歡品牌分析,消費者消費行為依品牌價錢總和可區分為三個等級,分別為4萬以內、4萬-8萬之間、8萬到12萬,從統計圖可感覺消費者在4萬元以內的區間,所以將銷售出去的商品依據價格區間找出品牌。
首先將月份及品牌群組,並計算每個品牌銷售總額
Prices <- SalesTrue %>%
separate(dateAdded,c("Year","Month"), sep = "-") %>%
filter(Year == "2016") %>%
group_by(Month,brand) %>%
summarise(Income = sum(prices.amountMax)*30) %>%
ungroup()
View(Prices)
從上圖可以看到每個品牌的銷售總額並有1283各品牌,在上一篇經統計消費價錢可區分三個區間,因此將上圖所有品牌銷售總金額分類至屬於的價錢區間,因此建立Level變數存放分類的結果,再以PricesRange存放Prices及Level兩個變數的資料。
先將每個品牌銷售總額分類
Level <- ifelse(Prices$Income <= 40000, "Four",
ifelse(Prices$Income <= 80000,"Eight",
ifelse(Prices$Income <= 120000,"Twelve",
ifelse(Prices$Income > 120001,"Twelve+","")) ))
這一段程式碼Four為4萬元以內的區間;Eight為4萬-8萬之間;Twelve為8萬到12萬、12萬以上為Twelve+,分類結果如下圖
將資料合併為R資料框架
PricesRange <- data.frame(Prices,Level)
View(PricesRange)
結果如下圖
大致瀏覽是否有正確分類,細看完成每個品牌價格區間的分類,但資料太多很難區分品牌坐落在哪一個價格區間,因此繪圖查看
從上圖明確得知消費金額座落於4萬元以內的等級,而消費次數約1200筆次消費,證實上一篇的假設,而在上一篇又提出四萬是薄利多銷還是商品單價很高,所以依據4萬以內計算每個品牌消費次數及各品牌銷售總額的平均價錢,程式碼如下
BrandFour <- PricesRange %>%
filter(Level == "Four") %>%
group_by(brand) %>%
summarise(
PricesAvg = mean(Income),
Consumption = n()
) %>% arrange(desc(Consumption)) %>%
ungroup()
View(BrandFour)
上圖中為4萬以內的品牌共有681各品牌,第一筆bamboo品牌平均銷售價錢為922元並銷出9次,似乎證實薄利多銷,但看第二筆平均銷售單價為3530.5元也消費9次,若以第一筆和第二筆比較,似乎無法證實薄利多銷的論點,所以我們再追下去!
因此以消費次數以及每個品牌平均總合價錢,兩者之間的關係,如下,先將消費次數轉換成類別
BrandFour$Consumption <- factor(BrandFour$Consumption)
ComsumptionPrices <- BrandFour %>%
group_by(Consumption) %>%
summarise(TotalAvgLevel= sum(PricesAvg)) %>%
ungroup()
繪圖來看
ggplot(data = ComsumptionPrices,mapping = aes(x=Consumption,y=TotalAvgLevel,fill="brand")) +
geom_bar(stat = "identity")