銷售案例分析--MySQL

本篇文章對sql的應(yīng)用進(jìn)行總結(jié)肚豺,使用sql從不同角度對銷售數(shù)據(jù)進(jìn)行分析

項(xiàng)目簡介

本篇文章使用的是某產(chǎn)品3惦辛、4肚医、5月份的消費(fèi)信息和用戶信息咬腋,對這兩份數(shù)據(jù)來分析該產(chǎn)品這三個(gè)月的銷售情況羹膳。

數(shù)據(jù)介紹

userinfo 客戶信息表
userId 客戶id
sex 性別
brith 出生日期

orderinfo 訂單信息表
orderId 訂單序號(hào)(虛擬主鍵)
userId 客戶id
isPaid 是否支付
price 商品價(jià)格
paidTime 支付時(shí)間

以上兩個(gè)表格即為本次分析的數(shù)據(jù),匹配字段是userid

分析角度

  1. 統(tǒng)計(jì)不同月份的下單人數(shù)
  2. 統(tǒng)計(jì)用戶三月份的復(fù)購率和回購率
  3. 統(tǒng)計(jì)男女用戶的消費(fèi)頻次是否有差異
  4. 統(tǒng)計(jì)多次消費(fèi)的用戶根竿,第一次和最后一次消費(fèi)的間隔是多少陵像?
  5. 統(tǒng)計(jì)不同年齡段,用戶的消費(fèi)金額是否有差異寇壳?
  6. 統(tǒng)計(jì)消費(fèi)的二八法則醒颖,消費(fèi)top 20%的用戶,貢獻(xiàn)了多少的額度壳炎?

MySQL分析

1.導(dǎo)入數(shù)據(jù)和清理數(shù)據(jù)

導(dǎo)入數(shù)據(jù)可以選擇:

  1. 從workbench導(dǎo)入图贸,效率較慢
  2. 使用命令行將數(shù)據(jù)導(dǎo)入,對數(shù)據(jù)量大的數(shù)據(jù)操作起來效率高
#創(chuàng)建數(shù)據(jù)庫,表格
create database data;
create table orderinfo(
    orderid    int   primary key ,
    userid      int,
    isPaid      varchar(10),
    price        float,
    paidTime   varchar(30));
create table userinfo(
    userid   int primary key,
    sex     varchar(10),
    birth    date);
查看所有表格
#導(dǎo)入數(shù)據(jù)疏日,csv文件以逗號(hào)為分隔符
load data local  infile 'C:/Users/Administrator/Desktop/order_info_utf.csv' into table orderinfo  fields terminated by ',';
load data local  infile 'C:/Users/Administrator/Desktop/user_info_utf.csv' into table userinfo  fields terminated by ',';
#將時(shí)間格式標(biāo)準(zhǔn)化為2000-01-01
update orderinfo set paidtime=replace(paidtime,'/','-') where paidtime is not null;
#更新字符串為日期格式偿洁,方便接下來使用日期函數(shù)操作
update orderinfo set paidtime=str_to_date(paidtime,'%Y-%m-%d %H:%i') where paidtime is not null;
處理后的paidtime

2.業(yè)務(wù)分析

2.1統(tǒng)計(jì)不同月份的下單人數(shù)

select month(paidtime) as month,count(distinct userid) from orderinfo as order_number
where ispaid='已支付'
group by month(paidtime);
不同月份下單人數(shù)

2.2統(tǒng)計(jì)用戶三月份的復(fù)購率

select count(if(se>1,1,null))/count(1) as '復(fù)購率' from (
    select userid,count(userid) as se from orderinfo
    where ispaid='已支付'
    and month(paidtime) = 3
    group by userid) t;
3月份復(fù)購率

2.3統(tǒng)計(jì)三月份的回購率

#反復(fù)利用子查詢(每月消費(fèi)的userid,并利用分組進(jìn)行去重)
select t1.m,count(t2.m)/count(t1.m) as '回購率' from (
    select userid,date_format(paidtime,'%Y-%m-01') as m
    from orderinfo
    where ispaid='已支付'
    group by userid,date_format(paidtime,'%Y-%m-01'))t1
left join (
    select userid,date_format(paidtime,'%Y-%m-01') as m
    from orderinfo
    where ispaid='已支付'
    group by userid,date_format(paidtime,'%Y-%m-01'))t2
on t1.userid = t2.userid and t1.m = date_sub(t2.m,interval 1 month)
group by t1.m
每月回購率

2.4統(tǒng)計(jì)男女用戶的消費(fèi)頻次是否有差異

select sex,avg(ct) as frequency from (
select t1.userid,t2.sex,count(*) as ct
    from orderinfo t1
    inner join (
        select * from userinfo
        where sex != '')t2
    on t1.userid = t2.userid
    group by userid)t3
group by sex;
男女用戶消費(fèi)頻次差異

2.5統(tǒng)計(jì)多次消費(fèi)的用戶沟优,第一次和最后一次消費(fèi)間隔是多少涕滋?(生命周期,用戶消費(fèi)時(shí)間)

select 
    userid,
    datediff(max(paidtime),min(paidtime)) "消費(fèi)間隔"
from orderinfo
where ispaid = '已支付'
group by userid
having count(paidtime) > 1;
用戶消費(fèi)間隔

2.6統(tǒng)計(jì)不同年齡段挠阁,用戶的消費(fèi)金額是否有差異(用戶消費(fèi)基本畫像)

#各個(gè)年齡組的消費(fèi)頻次宾肺、消費(fèi)金額
select age,avg(ct),round(sum(amount),2) from (
    #每個(gè)用戶的消費(fèi)頻次、所屬年齡組侵俗、消費(fèi)金額
    select o.userid,age,sum(price) as amount,count(*) as ct
    from orderinfo o
    #內(nèi)連接表userinfo獲取年齡信息
    inner join
        #將userinfo表按年齡分段
        (select userid,round((year(now())-year(birth))/10) as age
        from userinfo
        where birth > '1919-00-00')t1
    on o.userid = t1.userid
    WHERE ispaid = '已支付'
    group by o.userid,age)t2
group by t2.age
不同年齡段用戶消費(fèi)頻次锨用、金額

2.7統(tǒng)計(jì)消費(fèi)的二八法則,消費(fèi)的top20%的用戶隘谣,貢獻(xiàn)多少額度(top客戶)

#先計(jì)算出總的用戶數(shù)與消費(fèi)總金額
SELECT count(userid),sum(total) from (
SELECT userid,sum(price) as total
FROM orderinfo
where ispaid = '已支付'
GROUP BY userid
ORDER BY total DESC)t
總用戶數(shù)與消費(fèi)總金額
SELECT count(userid),sum(total),sum(total)/318503081 from (
SELECT userid,sum(price) as total
FROM orderinfo
where ispaid = '已支付'
GROUP BY userid
ORDER BY total DESC
LIMIT 17000)t
前20%的用戶消費(fèi)金額及在總消費(fèi)金額中占比
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末增拥,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子寻歧,更是在濱河造成了極大的恐慌掌栅,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,427評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件码泛,死亡現(xiàn)場離奇詭異猾封,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)噪珊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評論 3 395
  • 文/潘曉璐 我一進(jìn)店門晌缘,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人痢站,你說我怎么就攤上這事枚钓。” “怎么了瑟押?”我有些...
    開封第一講書人閱讀 165,747評論 0 356
  • 文/不壞的土叔 我叫張陵搀捷,是天一觀的道長。 經(jīng)常有香客問我多望,道長嫩舟,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,939評論 1 295
  • 正文 為了忘掉前任怀偷,我火速辦了婚禮家厌,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘椎工。我一直安慰自己饭于,他們只是感情好蜀踏,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,955評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著掰吕,像睡著了一般果覆。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上殖熟,一...
    開封第一講書人閱讀 51,737評論 1 305
  • 那天局待,我揣著相機(jī)與錄音,去河邊找鬼菱属。 笑死钳榨,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的纽门。 我是一名探鬼主播薛耻,決...
    沈念sama閱讀 40,448評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼赏陵!你這毒婦竟也來了饼齿?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,352評論 0 276
  • 序言:老撾萬榮一對情侶失蹤瘟滨,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后能颁,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體杂瘸,經(jīng)...
    沈念sama閱讀 45,834評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,992評論 3 338
  • 正文 我和宋清朗相戀三年伙菊,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了败玉。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,133評論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡镜硕,死狀恐怖运翼,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情兴枯,我是刑警寧澤血淌,帶...
    沈念sama閱讀 35,815評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站财剖,受9級特大地震影響悠夯,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜躺坟,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,477評論 3 331
  • 文/蒙蒙 一沦补、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧咪橙,春花似錦夕膀、人聲如沸虚倒。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,022評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽魂奥。三九已至,卻和暖如春庞瘸,著一層夾襖步出監(jiān)牢的瞬間捧弃,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,147評論 1 272
  • 我被黑心中介騙來泰國打工擦囊, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留违霞,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,398評論 3 373
  • 正文 我出身青樓瞬场,卻偏偏與公主長得像买鸽,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子贯被,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,077評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 數(shù)據(jù)來源于某網(wǎng)站的銷售統(tǒng)計(jì)眼五,主要分為兩部分:1、網(wǎng)絡(luò)訂單數(shù)據(jù)彤灶;2看幼、用戶信息。數(shù)據(jù)來源:鏈接:https://pan...
    LucasOoo閱讀 969評論 4 3
  • 數(shù)據(jù)來源于某網(wǎng)站的銷售統(tǒng)計(jì)幌陕,主要分為兩部分:1诵姜、網(wǎng)絡(luò)訂單數(shù)據(jù);2搏熄、用戶信息棚唆。數(shù)據(jù)來源:鏈接:https://pan...
    雅_(tái)2f4f閱讀 536評論 0 6
  • 在data下面新建兩張order和user表,將原數(shù)據(jù)導(dǎo)入mysql心例,csv的格式以逗號(hào)分隔宵凌。load data ...
    Jarvan_c806閱讀 745評論 0 0
  • 數(shù)據(jù)來源于某網(wǎng)站的銷售信息統(tǒng)計(jì),主要由訂單信息及用戶信息兩個(gè)部分組成止后,分析過程中可通過對兩部分的單獨(dú)分析或聯(lián)結(jié)分析...
    Runningbetter閱讀 2,317評論 0 5
  • 項(xiàng)目簡介 某一產(chǎn)品3,4,5月份的消費(fèi)信息和用戶信息瞎惫,對這兩份數(shù)據(jù)進(jìn)行分析來了解這三個(gè)月銷售情況,并為下個(gè)季度銷售...
    敢敢寶寶閱讀 1,268評論 2 12