日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

sql根据类别拆分上下级_运用SQL对黑五销售数据进行分析

發布時間:2023/12/19 数据库 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 sql根据类别拆分上下级_运用SQL对黑五销售数据进行分析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

數據來源:https://www.kaggle.com/mehdidag/black-friday

  • 提出問題:
  • 有多少名用戶在黑五這天購買?
  • 哪個年齡段的人群消費力最高,哪個年齡消費力最低?
  • 不同歲數人群(已婚,未婚)消費力如何?多數購買什么產品?
  • 哪些職業人群消費力高?哪些職業對哪些產品消費力最高?
  • 什么產品的受歡迎程度最高,賣的最多?
    • 理解數據
  • 數據來源:KAGGLE
  • 數據意義:黑色星期五的消費者購買數據,可以從中分析出如何優化業務,促銷搭配,以及給后續廣告投放運營提供思路,希望后續最終能達到給每個用戶推送它個人喜歡的想買的東西。
  • 字段意思
  • User_ID——用戶ID

    Product_ID——商品ID

    Gender——性別

    Age——年齡

    Occupation——職業

    City_Category——城市

    Stay_In_Current_City_Years——居住多少年

    Marital_Status——是否婚配

    Product_Category_1——產品類別1

    Product_Category_2——產品類別2

    Product_Category_3——產品類別3

    Purchase——花費

    • 數據導入

    從KAGGLE下載的是CSV,但是這回要用到的工具是MYSQL:

    直接導入,這里比官方的方法(https://dev.mysql.com/doc/workbench/en/wb-admin-export-import-table.html),要快很多。

    • 數據清洗
  • 這里把列名重命名,以方便理解
  • ALTER TABLE blackfriday CHANGE Purchase 花費 varchar(255)

  • 首先重復值刪除,但是這里多半都是一個用戶ID購買多個產品,然后進行記錄(應當是系統后臺自動記錄),所以不用清洗。
  • 其次就是缺失值處理,看看哪列是確實的,這里看到作為唯一主鍵,是唯一標識的用戶ID列,為537577。
  • 這里可以看到只有最后兩個缺失。

    查詢語句:

    SELECT COUNT(用戶ID),COUNT(商品ID),COUNT(性別),COUNT(年齡),COUNT(職業),COUNT(城市),COUNT(居住多少年),COUNT(是否婚配),COUNT(產品類別1),COUNT(產品類別2),COUNT(產品類別3),COUNT(花費) FROM blackfriday

    4.這里是產品類別,理應用0填充(單獨摘出不影響其他結果),不過為防止其他類別占用0,這里先查下

    這是查詢結果:

    6 14

    14

    2

    ……

    左側為產品類別2,右側為產品類別3.為節省版面,大部分數據進行隱藏處理。

    SQL語句:

    SELECT DISTINCT 產品類別2,產品類別3 FROM blackfriday

    0未被占用,用0代替NULL。

    SQL語句:

    UPDATE blackfriday SET 產品類別2 = 0 WHERE 產品類別2 IS NULL

    UPDATE blackfriday SET `產品類別3` = 0 WHERE `產品類別3` IS NULL;

    篩選NULL要用IS。

    • 一致化命名
  • 字段命名以重命名(前面已完成)
  • 數據格式進行統一:
  • 例如0-17這樣的,改成

    推算最小年齡 推算最大年齡

    0 17

    步驟1——這里先新建兩列,在年齡列后面

    SQL語句:

    ALTER TABLE blackfriday ADD COLUMN 推算最小年齡 VARCHAR(20) NOT NULL AFTER 年齡

    ALTER TABLE blackfriday ADD COLUMN 推算最大年齡 VARCHAR(20) NOT NULL AFTER 推算最小年齡

    注:

    對SQL尚未爐火純青時,最好小心為上,執行代碼前檢查,并且預先備份SQL文件。

    并且實際工作中最好不要用漢字命名列名。

    步驟2——復制和文本處理

    SQL語句:

    UPDATE blackfriday SET `推算最小年齡` = (SELECT SUBSTRING_INDEX(`年齡`,'-',1))

    可以看到還不完美,有 + 符號,還得接著對列內文字進行處理。

    SQL語句:

    UPDATE blackfriday SET `推算最小年齡` = REPLACE(`推算最小年齡`,'+','')

    OK,在接下來對著推算最大年齡列也是一致化處理操作。

    SQL語句:

    UPDATE blackfriday SET `推算最大年齡` = (SELECT SUBSTRING_INDEX(`年齡`,'-',-1))

    同樣,對 + 進行處理

    SQL語句:

    UPDATE blackfriday SET `推算最大年齡` = REPLACE(`推算最大年齡`,'+','')

    OK,還剩最后一步。

    步驟3——刪除無用列

    ALTER TABLE blackfriday DROP 年齡

    OK,清洗數據完畢,開始解決問題!

  • 有多少名用戶在黑五這天進行購買?
  • SQL代碼:

    SELECT COUNT(DISTINCT `用戶ID`) FROM blackfriday

    一共有5891名用戶在黑五進行購買。

  • 哪個年齡段的人群消費力最高,哪個年齡消費力最低?
  • SQL代碼:

    SELECT `推算最小年齡`,`推算最大年齡`,SUM(`花費`) FROM blackfriday

    GROUP BY `推算最小年齡`,`推算最大年齡`

    ORDER BY SUM(`花費`)

    可以看到26~35年齡段消費能力最強,猜測是處于事業已經發展起來,所以購買力最強。

    其次是36~45中年人,再其次是18~25的年輕人群。

    建議后續廣告投放細致化分類化,針對購買力最強的三類年齡層次的人進行定制化優惠,廣告資源對其進行傾斜,分類對其投放對應年齡段的廣告資源。

  • 不同歲數人群(已婚,未婚)消費力如何?多數購買什么產品?
  • 未婚消費數據:

    SQL代碼:

    SELECT `推算最小年齡`,`推算最大年齡`,SUM(`花費`) FROM blackfriday

    WHERE `是否婚配` = 0

    GROUP BY `推算最小年齡`,`推算最大年齡`

    ORDER BY SUM(`花費`)

    以婚消費數據:

    SQL代碼:

    SELECT `推算最小年齡`,`推算最大年齡`,SUM(`花費`) FROM blackfriday

    WHERE `是否婚配` = 1

    GROUP BY `推算最小年齡`,`推算最大年齡`

    ORDER BY SUM(`花費`)

    左側為未婚人群消費數據,右側為已婚,婚姻果然是單身生活的墳墓。

    已經結婚的年齡端人群(26~35,36~45,18~25,)消費力遠低于未結婚的同年齡段人群。

    當然,也有反例。已婚的(46~50,51~55,55+)的年齡人群購買力超過同年齡段未婚人群。

    那么,可以對未婚的(26~35,18~25,36~45)年齡人群進行分類廣告投放,進行資源傾斜。這類人群購買力比較高。

    當然,已婚的(46~50,51~55,55+)的年齡人群也可以對其進行廣告資源傾斜,這類購買力比同年齡段的未婚人群高。

    0~17歲人群喜好產品分析:

    SQL代碼:

    SELECT `推算最小年齡`,`推算最大年齡`,`商品ID`,COUNT(`商品ID`) FROM blackfriday

    WHERE `推算最小年齡` = 0

    GROUP BY `推算最小年齡`,`推算最大年齡`,`商品ID`

    ORDER BY COUNT(`商品ID`) DESC

    0-17消費力偏低,從箱型圖來看,大多數商品銷量在10以下,可以考慮對銷量8以上的貨品,根據是否有歷史瀏覽記錄搜索記錄,進行對這一年齡人群的廣告投放。

    18~25歲人群喜好產品分析:

    SQL代碼:

    SELECT `推算最小年齡`,`推算最大年齡`,`商品ID`,COUNT(`商品ID`) FROM blackfriday

    WHERE `推算最小年齡` = 18

    GROUP BY `推算最小年齡`,`推算最大年齡`,`商品ID`

    ORDER BY COUNT(`商品ID`) DESC

    18-25消費力稍高,從箱型圖來看,大多數商品銷量在40以下,可以考慮對銷量40以上的貨品,根據是否有歷史瀏覽記錄搜索記錄,進行對這一年齡人群的廣告投放。

    26~25歲人群喜好產品分析:

    SQL代碼:

    SELECT `推算最小年齡`,`推算最大年齡`,`商品ID`,COUNT(`商品ID`) FROM blackfriday

    WHERE `推算最小年齡` = 26

    GROUP BY `推算最小年齡`,`推算最大年齡`,`商品ID`

    ORDER BY COUNT(`商品ID`) DESC

    26~35消費力最高,從箱型圖來看,大多數商品銷量在90以下,可以考慮對銷量90以上的貨品,根據是否有歷史瀏覽記錄搜索記錄,進行對這一年齡人群的廣告投放。

    36~45歲人群喜好產品分析:

    SQL代碼:

    SELECT `推算最小年齡`,`推算最大年齡`,`商品ID`,COUNT(`商品ID`) FROM blackfriday

    WHERE `推算最小年齡` = 36

    GROUP BY `推算最小年齡`,`推算最大年齡`,`商品ID`

    ORDER BY COUNT(`商品ID`) DESC

    36~45消費力走低,從箱型圖來看,大多數商品銷量在40以下,可以考慮對銷量40以上的貨品,根據是否有歷史瀏覽記錄搜索記錄,進行對這一年齡人群的廣告投放。

    55歲以及55歲以上人群喜好產品分析:

    36~45消費力走低,從箱型圖來看,大多數商品銷量在40以下,可以考慮對銷量40以上的貨品,根據是否有歷史瀏覽記錄搜索記錄,進行對這一年齡人群的廣告投放。

    綜合分析:

    SQL代碼:

    SELECT

    `推算最小年齡`,

    `推算最大年齡`,

    COUNT(DISTINCT `用戶ID`) AS 購買用戶數量,

    SUM(`花費`) AS 購買用戶金額,

    SUM(`花費`) / COUNT(DISTINCT `用戶ID`) AS 客單價

    FROM

    blackfriday

    GROUP BY

    `推算最小年齡`,

    `推算最大年齡` -- ORDER BY COUNT(`商品ID`) DESC

    從圖標中看出,18~25,26~35,36~45的購買用戶金額和客單價遠高于其他用戶,用戶數量也是這三個年齡層次段的占據了大多數。

    廣告資源傾斜以及其他配套方案應著重于這三個年齡端人群。

    客單價存疑,應該不會有這么高的客單價。尤其是黑五折扣日。

  • 哪些職業人群消費力高?哪些職業對哪些產品消費力最高?
  • SQL代碼:

    SELECT

    `職業`,

    SUM(`花費`) AS 職業消費金額

    FROM

    blackfriday

    GROUP BY `職業`

    ORDER BY SUM(`花費`) DESC

    代碼為4的職業消費情況最高,其次為0,即沒有設置職業的用戶。

    箱型圖來看的話,大部分都在職業都在總消費水平在200000000以下,可以根據客單價情況以及職業人群總消費情況進行分類推送不同客單價的產品。

  • 什么產品的受歡迎程度最高,賣的最多?
  • SQL代碼:

    SELECT

    `商品ID`,

    COUNT(`商品ID`) AS 商品銷售件數,

    SUM(`花費`) AS 商品銷售額,

    SUM(`花費`)/COUNT(`商品ID`) AS 商品價格

    FROM

    blackfriday

    GROUP BY `商品ID`

    ORDER BY COUNT(`商品ID`) DESC

    總結

    以上是生活随笔為你收集整理的sql根据类别拆分上下级_运用SQL对黑五销售数据进行分析的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。