深入業務,打造行業背景下的BI系統
如何打造行業背景下的BI系統?筆者認為需要做好這兩步:通過需求分析深入業務,明確系統解決的問題;以及,結合業務,整理源數據,制定指標和算法,設計展現形式,完成數據分析設計。
在搭建BI(商業智能)系統時,通常有兩種選擇:一是選用市面上的BI產品;另一種則是自建BI系統。
直接購買BI產品相比自建BI系統的優點是:能快速使用、更加成熟、節約成本。但伴隨業務的發展壯大,場景的復雜化,最終都需要自建BI系統。
自建BI系統主要有兩大優勢:先是數據安全,然后,更重要的是它更能貼近業務場景。而通用的BI產品,通常很難追蹤深入行業背景下的業務問題,更多是展示一堆報表,而不能直觀的得出結論,還需要分析人員結合報表分析才能得出結論。
那如何搭建行業背景下的BI系統呢?
主要分為兩大步驟:首先通過需求分析深入業務,明確系統解決的問題;然后,結合業務,整理源數據,制定指標和算法,設計展現形式,最后完成數據分析的設計。下文結合實例,詳細講解如何搭建行業背景下的BI系統。
需求分析
BI系統在設計時,很多時候都沒有明確的需求的。如果有明確的需求問題就要簡單很多了,這里以我負責的醫美Sass軟件舉例。
在設計之初我們調研和走訪客戶時,客戶都表明需要數據分析系統的需求。但是具體需求客戶也不明確,只是希望看到某些數據的統計。所以,我們需要深入行業中,找到客戶所面臨的問題,挖掘客戶的痛點。
首先應該明確在行業背景下,BI系統需要滿足那些需求。結合業務,BI系統需求主要有下面幾類:監控問題、發現問題、找到問題原因、預測與決策支持。
我以醫美Sass系統舉例,我們挖掘到的以下4點需求:
- 銷售的工作是否積極?
- 能發現銷售額未達預期問題。
- 能找到銷售額未達預期的根本原因。
- 能預測銷售額。
這四點需求只是整個需求池的一部分,我以這四點需求來闡述整個BI系統設計過程。
需求分析主要分為三步:場景分析、用戶分析和業務分析。
本文的需求分析只列出結論,具體需求分析過程可以參考我的另一篇文章,善用三個方法,拒絕靠「想」做需求分析。
1. 場景分析
根據調研和用戶訪談(調研和訪談不是本文重點,不展開討論),針對上面四點列舉出場景故事:客戶某天發現發現本周的銷售額未達到預期,然后通過查看銷售人員和經銷商等營銷數據,以幫助客戶確定原因,并解決問題。
2. 用戶分析
需求中角色主要有客戶、銷售人員和經銷商。客戶是該BI系統的使用者,銷售人員和經銷商主要是系統中數據產生者。在分析相關角色,做出ER圖(非重點,不貼圖了)。
3. 業務分析
客戶公司的銷售和經銷商在進行行業活動時,會使用Sass軟件,Sass軟件會將相關的銷售數據記錄下來,推送到BI系統中。
客戶使用BI系統時,BI系統會將數據進行處理,將臟數據處理成干凈的數據。然后對數據進行分析,最后得出結果,通過可視化系統直觀的展現出數據分析結果。同時,結合業務場景給出預警提醒。
在業務分析時,需要分析需求和業務之間的關系,選取代表需求結論的指標值。恰當的數據指標能幫助用戶更好地解讀數據,得出結論。這主要依靠于產品經理對于業務深入了解和行業的熟悉程度。
以下為業務分析后所得功能清單:
數據分析系統設計
通常產品經理在完成業務分析,得出功能清單后,就可以開始著手原型的設計。但在BI系統設計中,完成業務分析后,更重要是完成數據分析系統的設計。
數據分析系統是整個BI系統的靈魂。在設計數據分析系統時,我們需要與技術人員緊密合作,特別是在數據源選取和相關的算法。
這就對BI產品經理提出了更好地要求,要熟悉統計學和數據分析的常用算法,同時對數據要有一定敏感性。
數據分析系統主要含有四個部分:數據采集、數據處理、數據分析、可視化系統,其對應著功能清單的系統列。
1. 數據采集
數據采集主要是:搜集數據分析所需要的原始數據。
B端產品數據來源,主要分為:系統內數據和外部數據。
外部數據根據具體的場景和業務,可以是外部推送數據過來,也可能是系統通過調接口或使用爬蟲去主動采集。當然,外部數據也可以直接通過Excel等載體直接導入。
系統內數據,一般是通過埋點來獲取數據。某些場景下,也需要去讀取并分析現有的日志數據。
數據采集,最重要的選取合適的源數據。這就需要產品經理對行業有很深的理解,對業務有透徹的分析。所選取的字段一定是和業務存在很大的相關性,或者是重要的影響因素。一旦選取數據產生差池,整個BI系統的根基就壞了。
下面為針對本文需求案例選取的數據字段,來源就略過了。
數據采集到后,會存入到數據倉庫或數據集市。
2. 數據處理
數據處理主要做數據清洗和數據格式轉化。
數據清洗主要包括檢查數據一致性,處理無效值和缺失值。數據清洗需要根據源數據的產生場景處理,可以剔除異常數據、糾正異常數據和補齊缺失數據。
本文的例子,采用的就是剔除異常數據。如果需要糾正和補齊數據,需要使用算法來進行補齊。相關算法有好幾種類型,我們需要了解其優缺點,再結合我們的源數據特征來選取合適的算法。我常用插值法和K最近距離鄰法來進行數據異常糾正和補齊。
數據格式轉化,主要是保證數據的一致性。通常是將相同分析算法的數據,轉化為相同的存儲格式,將數值型數據轉換成相同的計量單位。
3. 數據分析
數據分析是BI系統的核心,通過統計和數據分析算法,監控和查找問題。
數據分析的流程是:根據業務分析選取的指標值作為輸出結果,再利用處理后的數據,選取合適的算法,進行分析。
選取算法時,需要技術人員通力合作,明確業務特點,選取最適宜的算法。BI系統的數據源可能會發生變動,所以在算法選取時,需要考慮一定的擴展性。
根據本文的需求分析,系統在進行數據分析時,主要做兩個工作,預測和數據對比。
數據預測,可以選擇簡易平均法、移動算法、指數平滑法、線性回歸法、Logistic回歸等。因為我們的數據是一組數據與時間的集合,所以比較適合選擇多元線性回歸。
還有一些更高級的算法,暫時不討論。數據對比,可以直接通過可視化系統對比即可,比如:針對銷售是否異常,可以將實際銷售額與預期銷售額通過折線圖,進行圖標對比。
需求中有判斷員工是否積極的需求。這類較為抽象的需求,就需要針對「積極性」設計評估模型。針對該需求,采集到數據主要銷售數據、咨詢數據、日常工作數據。三個數據中,銷售數據的權重最高,日常工作數據最低。然后結合數據字段擬定出模型公式。
最后,將以上算法和模型整理成便于閱讀的文檔,就完成了數據分析系統的設計。
4. 可視化系統
可視化系統,主要是通過圖表,將相對復雜的數據和分析結論,直觀的展示給客戶。
BI系統的可視化系統設計流程:確認數據和指標值->對數據和指標值按場景分類->根據數據選取展現形式->更具展現形式設計頁面布局->完成頁面設計。
以本文需求為例:可以將數據可視化劃分為銷售人員積極性監測、銷售額預測對比、銷售分析(發現銷售額異常原因)。
其中,積極性檢查可以使用列表或排行榜展示,用色塊對銷售人積極性標識,也可以折線圖描述銷售人員積極性變化。
銷售額預測可以直接使用折線圖。銷售分析,由于數據類型不同,可以選取多種展示形式,比如:競爭對手店鋪分布數量和分布,可以用地圖散點圖表示。選取展現形式的原則就是簡潔、已讀、要點明確。
完成形式選取后,就可以開始布局和原型的設計。完成原型設計后,可以正式進入系統的開發工作。
最后
完成可視化系統設計后,并不代表我們產品經理的工作結束了。一個優秀的BI系統,還需要使用真實數據調優,不斷迭代系統,通過導入真實數據,運行系統,來進行系統的優化。特別是算法和模型的一些參數,都需要結合實際數據來找到最優值。甚至在某些時候,模型或算法的缺點,只有在真實數據和實際業務場景下才會暴露出來。
一個優秀的BI系統,需要幫用戶發現問題,并找到問題根源,甚至于直接解決問題。
比如本文所舉的案例,在此我可以列舉一個幫助用戶找到問題的場景:
某天,用戶收到報警,銷售額比預測值低了很多,然后查看銷售人員工作情況為正常。同時,又收到經銷商銷售報警,某個區域經銷商銷售額銳減,而且發現競爭對手在該區域經銷商數量陡增。
這個場景中,就幫助客戶發現問題,并找到了問題的根源:某區域競爭對手經銷商快速擴張。
在我之前做的產品中,還有一個BI系統結合廣告投遞的案例。該案例中,BI系統分析出已消費的人群標簽,然后接入三方廣告平臺平臺,進行精細化、自動化廣告投放。該案例不僅僅是分析數據,還深入到了解決問題的層次。
一個完整的行業背景下的BI系統,應該具有哪些功能?如下腦圖:
作者:產品小思考,B端產品經理,微信公眾號:產品小思考
本文由 @產品小思考 原創發布于人人都是產品經理。未經許可,禁止轉載
題圖來自Unsplash,基于CC0協議
優秀,有實際的方法論
很全面,這樣一看,我之前做BI系統設計的時候,只是梳理下指標,然后定義下,就直接做可視化設計了。
看樣子中間的其他過程都是被我司的開發GG做了。
??
感覺分類有些不清晰,監控指標完成、發現問題、和實時監控像是一個事件的三個面。腦圖可以再研究研究
對,都是針對某一業務的三個面。