如何正確提出數(shù)據(jù)需求

0 評論 7301 瀏覽 20 收藏 8 分鐘

導(dǎo)讀:當(dāng)下,數(shù)據(jù)在業(yè)務(wù)中扮演著越來越重要的角色,沒有數(shù)據(jù)不知道業(yè)務(wù)進(jìn)展如何,沒有數(shù)據(jù)不知道如何決策,企業(yè)將數(shù)據(jù)視為風(fēng)向標(biāo),也將數(shù)據(jù)視為源動力。在企業(yè)內(nèi)部數(shù)據(jù)的流動環(huán)節(jié),最為頻繁的就是不同角色表達(dá)對數(shù)據(jù)的需求。本文將分享一個數(shù)據(jù)需求表達(dá)的范式,通過這個范式將自己的數(shù)據(jù)需求或者協(xié)助數(shù)據(jù)需求者明確、精準(zhǔn)、快速地表達(dá)自己的想法。

01 對范式的思考

如果功能性產(chǎn)品,我一般會按照業(yè)務(wù)模型、業(yè)務(wù)邏輯、用戶交互三個層面思考,如何理解業(yè)務(wù)方的產(chǎn)品訴求,也會用它來在檢視自己的產(chǎn)品需求是否完善、邏輯是否無暇。

這三層思考正是映射到軟件開發(fā)領(lǐng)域的經(jīng)典 MVC 框架,從需求層面到執(zhí)行開發(fā)層面能夠找到一一對應(yīng)的參照,這在軟件工程中特別重要,極大減少了溝通成本和設(shè)計成本。

由此引發(fā),對于數(shù)據(jù)需求,我想到我們在執(zhí)行數(shù)據(jù)需求時,不論數(shù)據(jù)開發(fā)還是數(shù)據(jù)分析師,抑或是自己,都會用 SQL 去操作,這讓我不可避免地想到能不能用 SQL 的語法結(jié)構(gòu)來做為數(shù)據(jù)需求表達(dá)范式。

事實是可以的。

02 對 SQL 表達(dá)的剖析

無論一個數(shù)據(jù)需要多么復(fù)雜,關(guān)聯(lián)多少張表,做多少運算,只要庫表是齊備的,理論上都可以得到我們想要的數(shù)據(jù)。你看,在 SQL 數(shù)據(jù)查詢中往往是這樣的一個結(jié)構(gòu):

SELECT a,
b,
c,
count(a) AS i,
count(DISTINCT b) AS h,
max(c) AS t
FROM tab
WHERE day > 20211101
AND b = ‘x’
GROUP BY a,
b,
c
這里邊有三個關(guān)鍵的子句需要我們關(guān)注:

WHERE/FROM

GROUP BY

SELECT

顯然,F(xiàn)ROM 和 WHERE 確定了我們要查詢的數(shù)據(jù)范圍,GROUP BY 給出了我們對數(shù)據(jù)的分組依據(jù),SELECT 最終產(chǎn)出想要的數(shù)據(jù)。

在 SQL 的語法結(jié)構(gòu)中,已經(jīng)非常清晰地告訴我們數(shù)據(jù)的邏輯,我們要做的就是參照它,準(zhǔn)確地表達(dá)我們的數(shù)據(jù)訴求。

03 SQL 的啟示

在對 SQL 結(jié)構(gòu)的分析后,我們可以得到這樣的一個需求表達(dá)范式三要素,這個范式能保證我們正確地表達(dá)數(shù)據(jù)需求和順暢地溝通數(shù)據(jù)需求。這三個要素是:

1) 統(tǒng)計范圍

這部分對應(yīng) WHERE 和 FROM,需要知道需求中所涉及的統(tǒng)計領(lǐng)域以及限定條件。

如你要統(tǒng)計商品的數(shù)據(jù),需要確定是所有商品還是當(dāng)前在上架狀態(tài)的商品;統(tǒng)計用戶的信息,是否只包含付費用戶;統(tǒng)計流量數(shù)據(jù)是否只包含手機端的流量等等。

時間的范圍是必須的,即使是統(tǒng)計所有歷史數(shù)據(jù)也需要明確出來。當(dāng)然時間也可以是動態(tài)的,如最近 7 天,近一個月等,這和數(shù)據(jù)的操作執(zhí)行時間有關(guān)。

數(shù)據(jù)的統(tǒng)計范圍的確定有助了我們將問題限制在一定的界限內(nèi),減少了對數(shù)據(jù)范圍認(rèn)知不一致而導(dǎo)致的溝通障礙。

2) 統(tǒng)計維度

統(tǒng)計維度就是 SQL 中 GROUP BY 的部分,利用 GROUP BY 對明細(xì)數(shù)據(jù)進(jìn)行分組,數(shù)據(jù)分析時以這些分組的視角對數(shù)據(jù)表現(xiàn)進(jìn)行評估。所有的數(shù)據(jù)無論是單一的分組還是多重分組,都會有相應(yīng)的維度表示。

在一個時間范圍內(nèi),維度可以按照年、月、周、日、時、分等粒度劃分難度,前提是有相應(yīng)更小粒度的細(xì)節(jié)數(shù)據(jù)。

統(tǒng)計學(xué)意義上的分類數(shù)據(jù)、離散數(shù)據(jù)都可以做為維度,如針對性別,可以按男、女維度來分析數(shù)據(jù)。連續(xù)數(shù)據(jù)通過分箱等手段也可以進(jìn)行維度劃分。

維度的確定,明晰了數(shù)據(jù)分析的角度,對分析結(jié)果至關(guān)重要。當(dāng)然,多維分析也是一種數(shù)據(jù)搜索的常用手段,在需求確認(rèn)時,需要明確是否需要多維分析以及有哪些維度組合。

3) 統(tǒng)計指標(biāo)

統(tǒng)計指標(biāo)是 SQL 的 SELECT 數(shù)據(jù)輸出部分,就是最終看到的數(shù)據(jù)形式。一般情況下所有維度會輸出并作為指標(biāo)的指示。

指標(biāo)即口徑,也就是針對前述維度的計算方法,維度一般會參與計算,但有時也不參與計算。計算方法一般會是計數(shù)、去重計數(shù)、求極值、平均數(shù)、標(biāo)準(zhǔn)差等聚合運算。

統(tǒng)計指標(biāo)是需求方最終看到的結(jié)果,從范圍到維度,到最終的指標(biāo)數(shù)據(jù)輸出,指標(biāo)的計算方法是最為重要的一個環(huán)節(jié)。

以上三個元素,能夠比較準(zhǔn)確地描述一個數(shù)據(jù)需求,讓需求執(zhí)行者明確地進(jìn)行數(shù)據(jù)執(zhí)行操作。

04 最終我們?nèi)绾巫?/h2>

由于需求方一般不具備 SQL 技能,不能理解以上相關(guān)概念,但我們確實需要這些信息,可以平時做一些引導(dǎo)和培訓(xùn),讓其按這種范式提出需求。如果無法抽象理解這些概念,可引導(dǎo)需求方畫出數(shù)據(jù)樣例,并對所有列一一指明邏輯。

另外,一些其他信息或者對我們也有幫助:

需求方的身份背景:幫助我們判斷需求提出者的動機及分析思路;

需求背景:了解提出此數(shù)據(jù)需求的業(yè)務(wù)背景;

需求的頻率:如果是周期性數(shù)據(jù)可以考慮產(chǎn)品化;

需求的期望完成時間:方便對需求進(jìn)行排期,確定優(yōu)先級。

 

作者:李慶輝(新芭),數(shù)據(jù)產(chǎn)品專家,數(shù)據(jù)產(chǎn)品團(tuán)隊負(fù)責(zé)人;擅長數(shù)據(jù)治理、數(shù)據(jù)分析、數(shù)據(jù)化運營;Python書籍《深入淺出Pandas》作者;“數(shù)據(jù)人創(chuàng)作者聯(lián)盟”成員。

本文由@一個數(shù)據(jù)人的自留地 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載。

題圖來自Unsplash,基于CC0協(xié)議。

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 目前還沒評論,等你發(fā)揮!