數(shù)據(jù)產(chǎn)品開發(fā)前的必修課(四):躲開平均數(shù)騙局

文/明道軟件 胡晨川 個(gè)人公眾號(hào)“川術(shù)”

圖片發(fā)自簡(jiǎn)書App

平均數(shù)計(jì)算的目的,是用來判斷一個(gè)序列的集中趨勢(shì)夕吻,進(jìn)而對(duì)數(shù)據(jù)總體有一個(gè)合理的認(rèn)知诲锹。要求一個(gè)序列的平均數(shù),主流算法其實(shí)有三種:算術(shù)平均數(shù)涉馅,中位數(shù)归园,眾數(shù)。

算術(shù)平均數(shù)即大家用得最多的稚矿,幾個(gè)數(shù)加總后除以個(gè)數(shù)庸诱;而中位數(shù)是序列中的數(shù)進(jìn)行大小排序后,排名在中間的數(shù)(若序列中數(shù)值個(gè)數(shù)是偶數(shù)晤揣,則取排名在中間的兩個(gè)數(shù)的算數(shù)平均數(shù))桥爽;而眾數(shù)是指序列中出現(xiàn)頻率最高的那個(gè)數(shù)。

三種算法在excel中對(duì)應(yīng)的函數(shù)是average(),median()和mode()昧识。

三種算法各有特點(diǎn)钠四,也各有使用條件。算數(shù)平均數(shù)的使用跪楞,有時(shí)侯會(huì)把你帶坑里缀去。我用最近遇到的一個(gè)案例,來說說為什么要使用中位數(shù)习霹。

用中位數(shù)來避免算數(shù)平均數(shù)陷阱

中位數(shù)數(shù)的計(jì)算方式朵耕,我用下面一段python的代碼表示,程序員們或許更好理解:

def Median(a):

a = sorted(a)

l = len(a)

l2 = l / 2

return a[l2] if l % 2 else (a[l2] + a[l2 - 1]) / 2.0

(文章末尾附錄中我列出了sql語句計(jì)算中位數(shù)的方式)

最近在做明道crm中的統(tǒng)計(jì)模塊淋叶,計(jì)算訂單承擔(dān)周期時(shí)阎曹,遇到了算數(shù)平均數(shù)陷阱:

比如,某個(gè)銷售在6月份簽了5單煞檩,每單的周期是order_period=[15,18,26,30,365]处嫌。其中有一個(gè)訂單是去年注冊(cè)的線索(小概率事件),因此周期的算數(shù)平均數(shù)90.8斟湃。之前成單周期水平都在一個(gè)月左右的人熏迹,在這個(gè)月突然變成了3個(gè)月,這個(gè)數(shù)值顯然是不公平的凝赛。這樣的巨幅變化注暗,也會(huì)給銷售決策造成干擾(對(duì)數(shù)據(jù)總體的認(rèn)知被扭曲了)坛缕。因?yàn)?65這個(gè)極大值,拉高了整個(gè)序列的算數(shù)平均數(shù)捆昏,使得數(shù)據(jù)失真赚楚。這正是算數(shù)平均數(shù)的弊端。

取用中位數(shù)骗卜,便排除了特?cái)?shù)值帶來的影響宠页。縱使有一單是去年的線索寇仓,這位顧問的成單周期是26举户,依然是正常水準(zhǔn)。

算數(shù)平均數(shù)與中位數(shù)的結(jié)合

而算數(shù)平均數(shù)也有它的優(yōu)勢(shì)遍烦,它是匯總所有數(shù)值信息后俭嘁,計(jì)算的集中趨勢(shì),只要不出現(xiàn)特殊值服猪,它的精確度是超過中位數(shù)的兄淫。所以,算數(shù)平均數(shù)和中位數(shù)如何結(jié)合呢蔓姚?

crm成單周期的統(tǒng)計(jì),又引發(fā)出另一個(gè)問題:從哪個(gè)層面來計(jì)算中位數(shù)慨丐?

我們的計(jì)算其實(shí)有四級(jí):

公司銷售部宏觀的成單周期??每個(gè)城市分公司的成單周期??各個(gè)銷售團(tuán)隊(duì)的成單周期??個(gè)人的成單周期坡脐。

如果每一級(jí)都計(jì)算中位數(shù),顯然是過于粗放的房揭。我采用的方式是在個(gè)人這一級(jí)取中位數(shù)备闲,之后的所有層級(jí)都取算數(shù)平均數(shù)。

但這還是有問題的:

個(gè)人成單量比較少的情況下捅暴,計(jì)算中位數(shù)也會(huì)不合理恬砂。比如,某個(gè)團(tuán)隊(duì)三個(gè)人蓬痒,每個(gè)人周期序列分別是[2泻骤,300,200]梧奢,[15狱掂,3],[5亲轨,14趋惨,26],中位數(shù)分別是200惦蚊,14器虾,14讯嫂,算團(tuán)隊(duì)算數(shù)平均數(shù)時(shí),依然沒有排除掉極值的影響兆沙。

所以椎眯,最合理的方式也許是:

人均訂單數(shù)超過5單的團(tuán)隊(duì),計(jì)算一級(jí)中位數(shù)泡挺;而人均訂單數(shù)小于5的團(tuán)隊(duì)煌抒,計(jì)算兩級(jí)中位數(shù)。

當(dāng)然装悲,這里組合的方式就需要讀者您根據(jù)自己業(yè)務(wù)情況來定了昏鹃。

眾數(shù)目前我還沒有用上,它一般會(huì)用在離散型序列且數(shù)值個(gè)數(shù)較多的時(shí)候诀诊。

附錄:

sql語句中似乎沒有直接計(jì)算中位數(shù)的方式洞渤,我這邊從網(wǎng)上找了一段,個(gè)人讀后感覺是靠譜的属瓣,也貼出來载迄,供大家理解。概括的說抡蛙,它是使用2個(gè)子查詢來計(jì)算护昧,1個(gè)子查詢用來排序,1個(gè)子查詢用于計(jì)算總數(shù)粗截,然后根據(jù)總數(shù)的 奇/偶惋耙,來決定哪些行需要進(jìn)行計(jì)算。

SELECT

data_with_rownumber.Name,

AVG(data_with_rownumber.val) AS median

FROM

(

SELECT

ROW_NUMBER() OVER(PARTITION BY Name ORDER BY val) AS seq,

Name,val

FROM

test_median

) data_with_rownumber

JOIN

(

SELECT

Name, COUNT(1) AS NumOfVal

FROM

test_median

GROUP BY

Name

) data_count

ON

(

data_count.Name = data_with_rownumber.Name

AND

(

(data_count.NumOfVal % 2 = 0 AND data_with_rownumber.seq

IN (data_count.NumOfVal / 2, (data_count.NumOfVal / 2) + 1))

OR

(data_count.NumOfVal % 2 = 1

AND

data_with_rownumber.seq = 1 + data_count.NumOfVal / 2)

)

)

GROUP BY

data_with_rownumber.Name

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末熊昌,一起剝皮案震驚了整個(gè)濱河市绽榛,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌婿屹,老刑警劉巖灭美,帶你破解...
    沈念sama閱讀 216,544評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異昂利,居然都是意外死亡届腐,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門蜂奸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來梯捕,“玉大人,你說我怎么就攤上這事窝撵】耍” “怎么了?”我有些...
    開封第一講書人閱讀 162,764評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵碌奉,是天一觀的道長(zhǎng)短曾。 經(jīng)常有香客問我寒砖,道長(zhǎng),這世上最難降的妖魔是什么嫉拐? 我笑而不...
    開封第一講書人閱讀 58,193評(píng)論 1 292
  • 正文 為了忘掉前任哩都,我火速辦了婚禮,結(jié)果婚禮上婉徘,老公的妹妹穿的比我還像新娘漠嵌。我一直安慰自己,他們只是感情好盖呼,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,216評(píng)論 6 388
  • 文/花漫 我一把揭開白布儒鹿。 她就那樣靜靜地躺著,像睡著了一般几晤。 火紅的嫁衣襯著肌膚如雪约炎。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,182評(píng)論 1 299
  • 那天蟹瘾,我揣著相機(jī)與錄音圾浅,去河邊找鬼。 笑死憾朴,一個(gè)胖子當(dāng)著我的面吹牛狸捕,可吹牛的內(nèi)容都是我干的众雷。 我是一名探鬼主播府寒,決...
    沈念sama閱讀 40,063評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼报腔!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起剖淀,我...
    開封第一講書人閱讀 38,917評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤纯蛾,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后纵隔,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體翻诉,經(jīng)...
    沈念sama閱讀 45,329評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,543評(píng)論 2 332
  • 正文 我和宋清朗相戀三年捌刮,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了碰煌。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,722評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡绅作,死狀恐怖芦圾,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情俄认,我是刑警寧澤个少,帶...
    沈念sama閱讀 35,425評(píng)論 5 343
  • 正文 年R本政府宣布洪乍,位于F島的核電站,受9級(jí)特大地震影響夜焦,放射性物質(zhì)發(fā)生泄漏壳澳。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,019評(píng)論 3 326
  • 文/蒙蒙 一茫经、第九天 我趴在偏房一處隱蔽的房頂上張望巷波。 院中可真熱鬧,春花似錦卸伞、人聲如沸抹镊。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,671評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽髓考。三九已至,卻和暖如春弃酌,著一層夾襖步出監(jiān)牢的瞬間氨菇,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,825評(píng)論 1 269
  • 我被黑心中介騙來泰國打工妓湘, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留查蓉,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,729評(píng)論 2 368
  • 正文 我出身青樓榜贴,卻偏偏與公主長(zhǎng)得像豌研,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子唬党,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,614評(píng)論 2 353

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

  • 國家電網(wǎng)公司企業(yè)標(biāo)準(zhǔn)(Q/GDW)- 面向?qū)ο蟮挠秒娦畔?shù)據(jù)交換協(xié)議 - 報(bào)批稿:20170802 前言: 排版 ...
    庭說閱讀 10,958評(píng)論 6 13
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理鹃共,服務(wù)發(fā)現(xiàn),斷路器驶拱,智...
    卡卡羅2017閱讀 134,652評(píng)論 18 139
  • 前段時(shí)間蓝纲,讀了五年大學(xué)的朋友畢業(yè)了阴孟。飯桌上,很多高中的朋友已經(jīng)工作一年了税迷,大家都開始暢聊各自的日常永丝。讓我忘不了的一...
    Kevin經(jīng)緯閱讀 3,351評(píng)論 0 1
  • 她二十來歲那年 有著湖水般清澈的眼眸 扎著烏黑發(fā)亮的馬尾辮 總是不見其人先聞其笑 爽朗而單純 她似乎從來不會(huì)含蓄 ...
    花雅雅閱讀 271評(píng)論 0 2
  • 早上好慕嚷!#幸福實(shí)修#~每天進(jìn)步1%#幸福實(shí)修10班陳月蓮~杭州 20170818~25/30 【幸福三朵玫瑰】 昨...
    馨兒_dda0閱讀 219評(píng)論 1 2