報表心得雜談 | FineReport-最強大動態報表與BI商業智慧軟體

報表雜談

本文是我關於大數據分析方法的幾點思考。當初的目的是系統化地看待數據分析。為了這點東西,我花了一個禮拜的時間,思考的結果卻是碎片化的。看來,想清楚並不容易。由於時間關係,只能中止。文字描述很不嚴格、肯定經不起推敲,讀者找不毛病是正常的、看不明白更是正常的。不感興趣的可以當做胡扯。我希望將來有時間時能把問題思考下去。 從數據中發現信息和知識,是人們多年來的夢想。隨著大數據理論的興起,這個話題變得非常熱門。在有些人看來,大數據分析軟體非常神秘,似乎無所不能。當然,現實不會是這樣。我想,研究大數據,首先要破除迷信:大數據需要什麼條件、什麼問題是大數據無法做到的。 1、知識和信息,只能從關聯關係中得到 對象(包括過程,如生產過程、購物過程)及其屬性、同一對象的屬性之間具備關聯關係。例如,「張三身高1.8米」就是對象(張三)與屬性(身高)的關聯;再如,如果我們知道張三體重75公斤,則「1.8米」和「75公斤」之間就因「張三」建立了關聯。 關聯的對象可能並不確定:我們看到一張履歷表,即便隱去名字、不知道這個人是誰,也知道其中的各種信息是與某人關聯的。 在數字化的世界裡,不和其他的符號(數字)關聯的符號(數字)是不包含任何信息的。從不包含信息的素材,得不到包含信息的結論。 有人可能反對這個觀點:谷歌曾經用「感冒」的搜索量預報流感啊,這裡哪有關聯呢?其實,只有搜索「感冒」的數量是根本無法預測流感的。谷歌的做法,是把「感冒」的搜索與搜索的地點、時間聯繫起來。 這個觀點告訴我們:收集數據的時候,要儘可能地把關聯關係建立起來;沒有關聯關係,數據很容易成為垃圾。這種情況並不少見:有些實驗室,把針對同一試樣的各項實驗結果分別保存起來,而沒有建立統一的ID、關聯關係丟失。這樣的數據,再多也沒有用處。 2、人們要挖掘的知識和信息,就是找映射關係 知識(或信息)的發現與挖掘,其本質是尋找映射關係:通過已知的、對象的一部分屬性,把對象的另外一部分屬性或對象本身找出來(或縮小範圍)。產生這類問題的原因是:只有一部分屬性已知、容易得到、容易識別、容易表述,而另外一部分未知、不容易得到、不容易識別、不容易描述。 例如,我們可以說:張三就是那個穿紅衣服的——這裡「穿紅衣服」比其他特徵容易識別。從衣服識別出張三,就是從張三的衣著特徵(屬性)找到關聯對象(張三)的信息;從一個人的身高預估他的體重,就是從一個根據一類屬性估計另外一類屬性。 我習慣於把信息挖掘和知識發現分開。 在本文中,信息挖掘指的是預測某個特定對象的屬性,如上海市的人口是多少;知識發現是確定一類對象的屬性之間的關係,如一類人群中身高和體重的關係。當然,這種區分不是絕對的。 3、映射關係的差別 正確的識別,最好的辦法是找到好的素材(數據)。素材與結果之間的關聯強度是不一樣的:有的比較強,是因果關係、必然聯繫;有的比較弱,是相關關係、偶然聯繫。 例如,我們可以根據DNA、相貌、衣服來識別一個人。但三者相比,DNA的聯繫是強的必然性聯繫、衣服是弱的偶然性聯繫,相貌是介於兩者之間的聯繫。大數據的一個著名案例,是網站根據客戶買的葯判斷她已懷孕、並推送有關產品:因為這種葯只有孕婦才吃,是很強的關聯。 從數據得到的知識和信息,往往不是絕對正確。一般來說,可靠的結論基於可靠的數據和可靠的分析方法。數據量大了以後,濾除干擾的可能性增大,從而可以從原來可靠度低的數據中,得到可靠性相對較高的數據。 所以,盡量找到好的素材,是做好分析的第一步。 在很多情況下,我們找不到好的素材。這時,首先要做的盡量提高數據質量。數據質量不僅是精度問題,還包括數據來源的可靠性:為此,需要把數據來源的相關過程要搞清楚,否則很可能會誤導人的分析。 4、相關與因果 有些相關性的背後,一般會有因果關係存在。兩個要素由因果產生關聯的機制大概可以分成兩類:1、兩個要素具有因果的關係:比如剛做父親的青年人常會買尿布;2、共同原因導致的兩個結果之間的關係:比如孩子的父親會常買啤酒,也常買尿布;於是,啤酒和尿布就可能關聯起來。 有些相關性,看似沒有因果,但背後往往有某些特殊的規律或因素其作用(上述第二種情況)。比如,女孩子往往喜歡花衣服,與基因和文化的共性有關。但這種因果關係可能相隔太遠,以至於難以考證了。 當人們需要根據關係作出決策時,需要研究因果的邏輯關係:到底是誰影響了誰。否則,根據分析結構的盲目行為可能適得其反。 「到底誰影響了誰」為什麼會成為問題?大概有兩類原因: 第一類原因是:忽視了時間因素。如「統計結果表明,練太極拳的身體差」。現實卻是:很多人身體變差(包括衰老)以後,才練太極拳。一般來說,具有因果關係的兩個要素之間,時間上有前後關係:原因早前,結果在後。 第二類原因是:忽視了前導因素。「公雞一叫,天就亮了」。現實卻是,天量之前的跡象被公雞察覺到了。兩者是第二種因果關係,只是看似「原因在後、結果在前」了。 一般來說,工業大數據分析更重視因果,而商務大數據分析對因果性的要求較弱。 5、數據分析的先導因素 從某種意義上說,數據分析的過程,就是尋找強的相關關係(必然性、因果性),或對弱的相關關係進行綜合、得到強的相關關係。 用數據發現信息,需要用到各種知識。例如,把「雲南白藥是用於治療外傷的」放入計算機,當某人購買白葯的行為判斷他或家人可能受傷,從而可以推薦相關產品。但注意到:這種類型的知識很可能是被人事先裝入計算機的,而不是靠計算機自動學習得到的。 所有的學習過程,本質上都是基於這樣一種假設:A和B的一部分屬性類似,則推測另一部分屬性也應該類似。例如,A和B的身高相似,則體重也可能相似。現實中,兩個屬性確實具有強烈的相關性,但身高相同而體重不同的也大有人在。這時,如果我們還知道他的體型,是瘦弱、偏瘦、正常、偏胖、肥胖型,對體重的估計就可以準確一些。由此可見,用數據發現知識的過程,本質上就是提高相關性、可靠性的過程。 一般來說,人們在做數據分析之前,一定會有一定的知識積澱, 但認識不清卻是一種常態;人們希望通過對數據的分析,來改變這種常態。而改變認識的過程依賴於數據的質量和分析數據的方法。所以,刨除分析方法外,分析過程依賴於兩個先導性因素:1、數據質量(包含多方面的含義)如何;人們已有的認識如何。 注意,這段說法有個潛台詞:強調了人類可認識的知識,而不是機器用複雜函數關係表述的、人類難以用邏輯關係認知的知識(如神經元)。的確如此,筆者一直認為:這類方法的作用被學術界有意識地誇大了。 6、數據分析的過程 與商業智慧大數據相比,工業大數據更重視可靠性和精確性。在很多情況下,猜出一個結論並不難,難的是論證一個結論。一般來說,凡是可靠的知識,都應該能夠被機理和數據雙重認證。 大數據分析的一個重要特徵是:傳統概率理論的假設往往不成立。例如:大數定理的條件往往不成立、模型的結構往往未知、因果關係不是天然清晰、自變數的誤差往往不能忽略、數據分布往往是沒有規律的。所以,為了得到可靠的結果,人們工作的重點很可能是驗證這些條件、構造這些條件。從某種意義上說,數據分析的過程,主要是排除干擾的過程、特別是排除系統干擾的過程。而且,如果完全依照邏輯、用純粹數學的辦法加以論證,則數據需求量會遭遇「組合爆炸」,永遠是不夠的。這時,已有的領域知識就是降低數據需求量的一種手段。要記住:求得可靠性是一個過程而不是結果、可能永遠沒有終點;分析的過程只是不斷增加證據而已。這個過程,是修正人的認識的過程;所以,錯誤或不恰當的認識常常是分析過程中最大的干擾——這個干擾一旦去除,我們可能就發現了真正的知識。 數據量大的直接好處,是排除隨機性干擾。但排除系統性干擾卻不那麼容易,數據量大是必要條件但不充分,需要深入的方法研究才能解決問題。 系統性的干擾往往體現在:對主體進行分組,所體現的規律是不同的。比如,身高和體重的統計關係,男女是不同的、不同民族是有差異的、可能與年齡有關。如果不進行分類研究,統計的結果就會與樣本的選取有很大關係。但分類研究也會遇到一個困難:遭遇組合爆炸,數據再多都不夠用。這時,「領域知識」就會發生作用: 認定一個結論成立的辦法,是確認它的「可重複性」。在許多情況下,「可重複性」指的是在各種分組下都成立的結論:最好能在不同時間分組中也能成立。分組越多、分組的維度越多、結論的可靠性越高。 但具有「可重複性」的結論,往往只在一定的範圍內成立。在很多情況下,「明確結論成立的範圍」也是數據分析的重要內容。 如何分組、如何確定範圍、如何構築邏輯鏈條、數據結果的解讀、數據結果與領域知識的融合,都是重要的能力。事實上,根據領域知識,常常用於構造證據鏈、進行有效的數據選取和分組。 在精密論證時,我們就會發現:基礎數據的質量很重要。因為許多干擾就來源於數據本身。從某種意義上說,數據的採集方法和環境不同,就是不同的數據。 在構建數據分析體系的過程中,也會發現,企業經營的數據分析也確實需要一個可展示的平台,實時展示業務,有問題就優化更新。 FineReport 數據決策系統 7、關於預測數字 許多問題分析的目的得到一個數字:如鋼的強度、用電量、人口數量、鋼產量。這類問題的特點之一是:最終的結果是各種影響因素相加得到的。 對於這種問題,我的觀點是:要想得到可靠的結果,一定要拆成若干子問題來分析。其中,各個子問題要儘可能利用規律性的結果來分析。我認為:把人的認識和數據用到極致的時候,才能得到最好的結果。隨便地建立回歸模型是不懂數據的表現。 作者:郭朝暉

在數據分析中,模型是非常有用和有效的工具和數據分析應用的場景,在建立模型的過程中,數據探勘很多時候能夠起到非常顯著的作用。伴隨著計算機科學的發展,模型也越來越向智慧化和自動化發展。對數據分析而言,了解數據探勘背後的思想,可以有助於建立更具穩定性的模型和更高效的模型。 數據探勘前世今生 數據模型很多時候就是一個類似Y=f(X)的函數,這個函數貫穿了模型從構思到建立,從調試再到最後落地應用的全部過程。 Y=f(X)建立之路 對模型而言,其中的規則和參數,最初是通過經驗判斷人為給出的。伴隨著統計方法和技術的發展,在模型的建立過程中,也引入了統計分析的過程。更進一步地,隨著計算機科學的發展,建模的過程,也被交給了機器來完成,因此數據探勘也被用到了模型的建立中。 數據探勘,是從大量數據中,探勘出有價值信息的過程。在有的地方,數據探勘也被成為是數據探礦,正如數據探勘的英文data mining一樣,從數據中探勘有價值的知識,正如在礦山中採集鑽石一般,不斷去蕪存精,不斷發掘數據新的價值。數據探勘是通過對數據不斷的學習,從中發掘規律和信息的過程,因此也被稱為統計學習或者是機器學習。對數據探勘而言,其應用範圍廣泛,除了建模,在人工智慧領域也有使用。 回到模型中,從經驗判斷到數據探勘,建立模型的計算特徵發生了極大的改變。 計算特徵的發展 首先數據的維度開始從少變多,最初只有幾個維度,到現在有上百個維度。數據的體量,即記錄的條數也從少量到海量,從過去了百條規模到了現在億條規模。伴隨著數據獲取的難度下降,數據的維度和記錄數量會越來越多。在這種情況下,數據的處理過程也越來越複雜,從過去簡單的幾次加減計算得到結果,到了現在必須要經歷上億次的複雜運算。同時,伴隨著計算性能的提升,對於從數據中提取信息而言,也從漸漸深入,過去只能發現一眼看出的淺表信息,如今可以不斷去探勘隱含的知識。 數據探勘的基本思想 數據探勘的別名機器學習和統計學習一樣,數據探勘的實質是通過計算機的計算能力在一堆數據中發掘出規律並加以利用的過程。因此對數據探勘而言,就需要經歷規則學習、規則驗證和規則使用的過程。 數據探勘的基本思想 規則學習又稱為模型訓練,在這個步驟中,有一個數據集將作為訓練集。按照相關的演算法和輸出規則的要求,從訓練集中篩選出需要使用的變數,並根據這些變數生成相關的規則。有的時候,是將過去已經發生的數據作為訓練集,在對比已知的結果和輸入的變數的過程中,以儘可能降低輸出誤差的原則,擬合出相應的模型。 當產生了規則後,就需要驗證規則的效果和準確度,這個時候就需要引入驗證集。驗證集和訓練集具有相同的格式,既包含了已知的結果也包含了輸入的變數。與訓練集不同的是,對驗證集的應用是直接將規則應用於驗證集中,去產生出相應的輸出結果,並用輸出的結果去對比實際情況,以來確定模型是否有效。如果有效的話,就可以在實際的場景中應用。如果效果不理想,則回頭去調整模型 測試集是將模型在實際的場景中使用,是直接應用模型的步驟。在測試集中,只包含輸入變數卻沒有像其他兩個數據一樣存在的已知結果。正因為結果未知,就需要用測試集通過模型去產生的輸出的結果。這個輸出結果,將在為結果產生以後進行驗證,只要有效,模型就會一直使用下去。 數據探勘的流程 數據探勘與數據分析的流程相似,都是從數據中發現知識的過程,只不過由於數據體量和維度的原因,數據探勘在計算上最大。 數據探勘的流程 對數據探勘而言,首先是進行數據獲取,數據獲取的來源很多,有系統中自行記錄的數據,對這種數據只要導出即可,同時也有外來數據,比如網頁爬取得數據,或者是購買的數據,這些數據需要按照分析系統的需求進行導入。 在完成了數據獲取步驟後,就需要進行數據處理,數據處理即是處理數據中的缺失值,錯誤值以及異常值,按照相關的規則進行修正或者刪除,同時在數據處理中也需要根據變臉之間的關係,產生出一系列的衍生變數。總而言之,數據處理的結果是可以進行分析的數據,所有數據在進行分析以前都需要完成數據處理的步驟。 如果數據在分布上存在較極端的情況,就需要經曆數據平衡的不走。例如對於要輸出的原始變數而言,存在及其少量的一種類別以及及其大量的另一種類別,就像有大量的0和少量的1一樣,在這種情況下,就需要對數據進行平衡,通過複製1或者削減0的形式生成平衡數據集。 當完成數據平衡後,將會把數據處理的結果分出一部分作為驗證集使用,如果數據平衡性好,那麼剩下的部分作為訓練集,如果平衡性不好,那麼平衡數據集就會作為訓練集使用。當有了訓練集後,就按照相關的演算法對訓練集進行學習,從而產生出相關的規則和參數。當有了規則以後,就將產生的規則用在驗證集中,通過對比已知結果和輸出結果之間的誤差情況,來判斷是否通過。如果通過則在後面再測試集中使用,如果未通過,就通過數據平衡、參數調整,以及變數選擇等手段重新調整規則,並再次進行驗證,直到通過驗證。 對於驗證集驗證的步驟而言,在無監督學習中沒有這個步驟,當纏上規則後,就直接用於測試集。 數據探勘周而復始 數據探勘是一個周而復始的過程,在生成規則的過程中,不斷地對模型進行調整,從而提升精度。同時也將多批次的歷史數據引入到數據探勘的過程中,進行多次的驗證,從而在時間上保證模型的穩定性。 數據探勘的模式 在數據探勘中,對於規則的獲取,存在三種方式,分別是監督學習,無監督學習和半監督學習,這三種方式都是通過從數據的統計學習來制定規則。 在一個數據探勘問題中,變數可以分為自變數和因變數,規則是以自變數為輸入,以因變數為輸出的結果,由此對數據探勘問題,就把自變數定義為X,把因變數定義為Y。 獲取規則的方式,來源於對數據的統計學習 對於監督學習而言,訓練集中包括了自變數X和因變數Y,通過對比X和Y的關係,得除相應的規則,同時再在驗證集中,通過輸入驗證集的自變數X,藉助規則得到因變數Y的預測值,再將Y的預測值與實際值進行對比,看是否可以將模型驗證通過,如果通過了,就把只包含自變數X的測試集用於規則中,最終輸出因變數Y的預測值。在監督學習中,因變數的實際值和預測值的對比,就起到監督的作用,在規則制定中需要盡量引導規則輸出的結果向實際值靠攏。 對無監督學習而言,訓練集中,就沒有包含因變數Y,需要根據模型的目標,通過對自變數X的分析和對比來得出相關的規則,並能夠產生合理的輸出結果,即Y,在制定規則的過程中,需要有一些人為的原則對規則進行調整。當完成調整後,就可以把只包含自變數X的測試集放到規則中,去產生規則的結果Y。 對比監督學習和無監督學習,最大的區別就是,在制定規則的過程中,是否有Y用於引導規則的生成。監督學習中,有Y存在,生成規則過程中和生成規則時,也會對比Y的預測值和實際值。而在無監督學習中,就沒有Y作為對比的標準,相應的規則都直接由X產生。 半監督學習,與監督學習類似,也需要因變數Y參與到規則生成和規則驗證中去。但是在訓練集只用只有一少部分的對象既有自變數X和因變數Y,還有大部分對象只包含了自變數X。因此在對半監督學習的規則生成中,需要有一些特殊的手段來處理只包含的自變數X的對象後,再生成相關的規則。在後面的驗證和測試的流程都與監督學習一致。因而對於半監督學習,最重要的問題就是如何藉助少量的因變數Y而產生出可以適用的規則。 數據探勘的應用場景 數據探勘應用的場景很多,通常有四種情況被廣泛的使用。 數據探勘的應用場景 首先是聚類分析,就是將不同的對象,根據其變數特徵的分布自然地分成不同的類別。此外是分類模型,這是針對已知的類別,構建出分類的模型,通過分類的模型來探求其他未分類對象的類別。第三是預測估計,集根據對象的連續數據因變數,通過圍繞已知的維度,構建出預測因變數的模型,從而對因變數未知的對象進行估計。最後是關聯分析,即通過探求數據對象之間的相關關係,來發現對象之間的聯繫,在關聯分析中,更多是以對象之間的關係作為輸出。 聚類分析 聚類分析是一種無監督學習的數據探勘方法,其目的是基於對象之間的特徵,自然地將變數劃分為不同的類別。在聚類分析中,基本的思想就是根據對象不同特徵變數,計算變數之間的距離,距離理得越近,就越有可能被劃為一類,離得越遠,就越有可能被劃分到不同的類別中去。 聚類分析基本思想 例如在坐標系中,B距離A的距離遠遠小於,B到C的距離,因此,AB更容易劃分為一類,而BC更容易為不同的類別。通常來說,一個對象距離同類的距離是最近的,都小於其他類別中對象的距離。 在聚類分析中,有兩種常用的方法,一種是K-means聚類,一種是層次聚類。 K-means聚類VS層次聚類 在K-means聚類中,是預先規定出要產生多少個類別的數量,再根據類別數量自動聚成相應的類。對K-means而言,首先是隨機產生於類別數相同的初始點,然後判斷每個點與初始點的距離,每個點選擇最近的一個初始點,作為其類別。當類別產生後,在計算各個類別的中心點,然後計算每個點到中心點的距離,並根據距離再次選擇類別。當新類別產生後,再次根據中心點重複選擇類別的過程,直到中心點的變化不再明顯。最終根據中心點產生的類別,就是聚類的結果。正如圖中所示,一組對象中需要生成三個類別,各個類別之間都自然聚焦在一起。 在層次聚類中,不需要規定出類別的數量,最終聚類的數量可以根據人為要求進行劃分。對層次聚類,首先每個對象都是單獨的類別,通過比較兩兩之間距離,首先把距離最小的兩個對象聚成一類。接著把距離次小的聚成一類,然後就是不斷重複按距離最小的原則,不斷聚成一類的過程,直到所有對象都被聚成一類。在層次聚類中,可以以一張樹狀圖來表示聚類的過程,如果要講對象分類的話,就可以從根節點觸發,按照樹狀圖的分叉情況,劃分出不同的類別來。在圖中,把一組對象分成了三個類別,可見這三個類別就是構成了樹狀圖最開始的三個分支。 聚類分析的過程,和分桔子其實很很像,人們通常都把特徵相同的桔子分成一類,聚類分析中,也是同樣的方式。 聚類分析案例 正如在這個例子中,有A-H的8個桔子,對每個桔子而言有提體積和變數兩個變數。通過將各個桔子投射到重量和體積構成的坐標系中,可以發現BEF距離很近,ACG距離很近,而DH距離很近。如果聚成3類的話,可以是ACG、BEF,DH各為一類。如果是聚成兩類,BEFDH與ACG相對更近,因此可以是ACG為一類,而BEFDH為另外一類 分類模型 分類模型通常是通過監督學習產生的,根據已知的對象的類別和其具體特徵特徵的數據,通過訓練從而產生由特徵判斷類別的規則。在分類模型中,規則的輸出就是具體的類別。 分類模型基本思想 分類模型的規則產生的過程中,類別判別的原則與訓練集中各特徵變數的分布息息相關,通常就是在對比各個類別下特徵變數的互相關係,而劃分出相關的規則,這個過程遵循的原則就是儘可能讓輸出的類別與實際的類別保持一致。 當前,不管在學術研究領域還是業務應用領域都有大量的分類模型,通常來說,決策樹和樸素貝葉斯是非常普遍的分類模型演算法,這兩個演算法在一些文獻中也被列為十大數據探勘演算法。 決策樹VS樸素貝葉斯 […]

一直以來,庫存管理都是影響企業盈利能力的重要因素之一。管理不當可能導致大量的庫存積壓,佔用現金流,半成品庫存的缺失導致生產計劃延後,成品庫存的缺失導致銷售訂單的延誤等問題。當我們撇開單純軟體對庫存管理的優化、個人高超的管理能力時,企業長期積累的數據能給我們帶來什麼價值?以及企業要如何開展對庫存管理的數據分析與視覺化? 上述的思維導圖是在做視覺化報表專案的過程中總結的一些問題,下面主要針對三方面談談:庫存數據分析與視覺化的價值、企業如何推動庫存數據分析視覺化報表專案、如何設計庫存數據分析視覺化專案。 一、庫存的數據分析與視覺化報表要達到什麼目標? 行動的前提是有明確的目標,一般庫存數據分析的目的不外乎以下幾點: 1、分析現有的庫存體系,為決策提供數據支援,重點是對數據的多維度展現,還原庫存體系原貌。 比如:企業想要實現駐外庫對全國的全面輻射,那麼就要分析現有的駐外庫是如何分布的,各個駐外庫的庫存量是多少,現有各個駐外庫的輻射能力等。 2、對現有的庫存體系進行優化,重點在問題的探勘和分析。 比如:在保障企業採購、生產、銷售的前提下,如何提高庫存周轉率,節約成本,增加現金流,避免不必要的損失。 舉個簡單的例子:帆軟數據分析平台的區域倉庫利用率分析報表中有一張視覺化圖表如下,採用銷量、庫存金額、存銷比來衡量地區庫的利用率,初步判斷地區庫是否存在滯銷情況 從總體上看,75%的地區(位於紅色箭頭的上方的區域,有西安、南京、深圳、上海等6個地區)處於低銷量、高庫存的警戒狀態,需要深入分析是否有平銷、甚至滯銷的風險,其中屬成都最為嚴重。而新疆地區庫則是另外一個極端,存銷比過低,可能會對接下來的銷售計劃有影響。 同時,也要注意:高庫存、低銷量並不一定都是業務異常。我們知道,實際業務中存在著各種情況影響著產品的銷量,比如:新款產品剛剛上線,季節性產品等因素。為此,我們需要再進一步的對產品、庫齡、庫存結構、運輸方式等深入分析,進一步驗證企業是否存在滯銷情況。 3、保障採購、生產、銷售的正常運行,重點在合理庫存的衡量、預警以及資訊在各部門之間的流通。 一般合理庫存的值完全是憑照經驗來設定,缺乏足夠的數據支撐,這時我們就可以可以通過一定期間預警的次數判斷和優化合理庫存值。同時預警可以判斷哪些原材料需要採購,哪些半成品的庫存不足以支撐接下來的生產計劃,因為季度性或其他原因哪些產品需要拋售、加大存貨等。 到這裡,大家可能會問:為什麼要保障資訊在各部門之間的流通? 舉個沃爾沃公司的例子:在一段時間內,他們綠色汽車積壓了大量的庫存。銷售和行銷部門就採用了各種促銷手段進行拋售,但是生產部門並沒有收到相關的訊息,為此生產部門把綠色汽車的生產量擴大了一倍,導致庫存大量積壓的狀況,這就體現了資訊在各個部門之間流通的重要性。 二、如何推動庫存數據分析與視覺化報表專案? 1、明確目的,我們的目的就一個:提高企業盈利能力。 解釋這個答案之前我們先了解一個現狀:究其根本,庫存的產生原因是為生產、銷售服務的。而且很多企業認為以自身的發展狀況,擴大市場和穩定生產才是影響身家性命的重要因素,行銷、生產、採購等部門往往只關心自身的利益,希望隨時都有足夠的庫存供自身使用。這時我們以減少庫存、節約成本往往會受到各相關部門不同程度的抵觸。所以我們的目的是從企業全局出發,最終目的是提高企業盈利能力。 2、分清目標,我們做的是庫存管理不是倉庫管理。 首先,庫存管理和倉庫管理沒有高低之分,都是企業經營重要的一環。庫存管理主要體現在庫存計劃的設定和庫存風險的管理,倉庫管理主要涉及物品、倉庫、倉庫人員的管理,如先進先出、庫位擺放、帳卡物一致等等。可以看出,庫存管理重在分析,倉庫管理重在流程。術業有專攻,在數據分析與視覺化報表方面,相對於倉庫管理,庫存管理帶來的價值更直觀。 三、庫存的數據分析有哪些重要指標? 篇幅有限,下面僅以上述的第二個模塊即對庫存體系進行優化的角度對指標進行介紹。 1、預設指標 預設指標其實就是對企業現存庫存管理規範的數字化,主要目的是為了從整體上衡量企業現有庫存是否存在異常,此指標因企業的不同而有不同的規範。舉個列子,雖然他們的這個設定不一定合理:有的企業以庫存物資總額和公司銷售的比值,作為衡量整個企業庫存是否合理的依據,超過這個比例就視為庫存存在問題。 這時候可能會有疑問,有的企業原本很少對庫存進行管理,之前的預設指標主要都是為了保障採購、生產、銷售的該怎麼辦?如果是企業自己做的且原本沒有一個很好的管理規範時,最好不要一上來就整一些高大上的指標,完全可以用一些常用的指標來輔助企業發現問題。 舉個簡單的例子:企業想要看到現有的駐外庫體系是否有問題,發現代銷庫的庫存金額遠遠大於駐外庫、且待銷庫和駐外庫的總和遠大於銷售額。至此,通過庫存金額和銷售額的對比分析已經初步完成了他所擔負的使命:驗證駐外庫體系是否存在問題。 2、固有指標 庫存管理模塊的固有指標不多,比如:庫存變化率、庫存周轉率、庫存周轉天數、交付及時率、獃滯庫存比率等。簡單介紹下各個指標的計算。各個企業對庫存周轉率的定義不同,基本上是以銷售的物料成本除以平均庫存,也是財務一般對庫存結構的衡量方式。庫存周轉天數,指定期間除以庫存周轉率。 上面簡單的列了幾個指標,但是庫存的視覺化報表不是指標的簡單羅列,而是根據不同的主題進行的組合分析,例如:財務方面的賬期和庫存周轉天數的對比,分析企業經營現金流的狀況。產品的庫存量、庫齡、銷量對比、趨勢分析,從而找到哪些屬於滯銷產品。 四、如何設計庫存的數據分析與視覺化報表系統? 1、明確目標 企業在做庫存管理模塊時,目的一般不單單是優化庫存體系,有時還會涉及輔助決策、保障採購、生產、銷售等目的。但是三個模塊中一定要有一個作為主導,以此對數據進行整合、分析。如果企業在推動過程中有阻力,建議以保障生產、銷售為主要目標,其他目標輔助進行。 2、明確受眾 大家可能會問,我只要把指標按照公司產品、區域等架構都展現出來不就行了,還用考慮給誰用的?其實不然,不同管理層對數據深度的要求不同。總經理往往想要看到各個模塊之間的聯繫,希望隨著他思路的層層遞進,都有相應的分析,而且不花費他的時間。比如:發現庫存體系有問題,哪些產品、分公司、區域有問題,以現有的庫存體系對現金流是否有影響等等。因為他們只需知道哪裡有問題、負責人是誰,然後相關負責人會緊接著處理這個事情。而各模塊負責人不僅要看到哪些模塊有問題,還要看到這些模塊具體有什麼問題,有沒有更多的數據來支撐這個問題研判,因為他們不僅擔負問題的處理,還要對發現的問題進行上報。 3、結構深入、前後關聯 根據視覺化報表專案所定的目標,對分析體系進行劃分設計。比如:企業目的是對整個的庫存體系進行優化,如果單單的拿出一個模塊來對企業不同的產品的庫存問題進行分析,沒有深入到各個庫存種類、區域、分公司等。可能給大家的感覺就是,這個產品滯銷太嚴重了,要趕緊促銷了,可能就會導致上述沃爾沃的狀況。所以不要單單為了分析而分析,而是對企業整體的庫存體系進行分析,保障數據的準確性和資訊的流通性。 4、問題的執行 這個模塊是在衛星石化公司得到的啟示,做為it資訊部門我如何確定自己的工作是否有價值,以及問題是否被及時的處理。簡單介紹下他們的場景,首先通過填報設定相關的庫存預警值,當庫存物料不足時,預警推送相關採購負責人,同時也擔任著問題的處理的確認,不然會一直預警推送相關採購負責人。帆軟庫存數據分析預警問題處理報表如下: 5、系統優化 緊接著上個模塊,我們如何對已有的體系進行優化,不僅是因為需求調研的誤差,更是因為企業經營管理的變化。主要關注兩個方面即可,一個是預設指標的優化,根據企業自身的狀況設置指標優化體系,如通過指標在一定期間的預警次數判斷預設指標是否需要優化,後續通過對歷史數據的對比、趨勢分析對指標進行調整。二是庫存報表範本的優化,對庫存報表的使用人員進行行為分析(使用頻率、使用方式等),對庫存報表建議進行收集,不斷進行優化,使各個模塊的關聯更加密切,更符合企業實際的業務場景。 文 | 帆軟數據應用研究院 陳明明 庫存管理熱門文章 分析製造業的生產庫存數據,這一套指標就夠了! 行動端掃碼應用方案1.0—發貨、配送、庫存管理 【南京醫藥】連接27家批發企業,打造供應鏈視覺化系統

談到數據,大家都喜歡拿大數據說事兒,精準行銷、客戶管理、企業洞察,但事實上,對於大部分中小型企業來說,把創立至今多少年來各個渠道積攢下來的數據統合到一起,也僅僅只是小數據而已。 這些數據,選用合適的工具,可以非常輕鬆的管好。不過,在選工具之前可以先問自己這樣一個問題:我要用這些企業數據,做什麼樣的分析? FineReport數據報表 採用數據分析的邏輯,這裡關於「如何分析企業數據」也設定兩個維度:價值和複雜程度。依據不同程度可劃分為四種類型:描述型、診斷型、預測型、指導型。 [描述型]的分析回答what的問題:我的企業發生了什麼? 數據類型通常是綜合的、廣泛的、實時的、精確的,以高效的可視化來展現。 比如說,某公司的銷售月報,就是[描述型]分析。 FineReport數據報表 一個看板上,匯總了各個地區的月度指標,完成率,完成度,它是實時變動的,到月底自動匯總。它不光「描述」,還有一定程度的分析,可以滿足日常管理需求。比方說揚州這個地區,本月的目標完成率最低,但是年度目標完成率卻較好,是否是本月的銷售目標太高,還是考核上有鬆懈。如果是人為的鬆懈,年度考核是否也要記錄閱讀的考核成績? 高效的可視化展現,一方面是說,做這個報告的速度要快,即問即答,不能我想知道今天的情況怎麼樣,但你三天之後才告訴我答案;另一方面是,這個報告以「模版」的形式存在,數據變了,報告也會隨之變動,什麼時候打開,什麼時候都是最新的。 [診斷型]的分析回答why的問題:為什麼我的企業發生了這樣的事情? 需要有從全局鑽取到細節的能力 需要有隔離所有混淆信息的能力 比如查看數據地圖,我發現江蘇的市場銷售額較高,想知道是什麼原因?於是點擊該省份,能定位到各類產品的銷售數據和響應的合作客戶數據。 FineReport數據決策系統 [預測型]的分析回答的是what likely的問題:我的企業將要發生什麼? 主要回答戰略性的問題:我的商業策略是否在一段時期內保持一致,根據演算法,用歷史模於預測某個具體的結果。 就像玩兒三國殺的時候,很多人喜歡諸葛亮,不停地使用「觀星」一樣,我們希望能夠預測某件事在未來發生的可能性,或是預測一個可以量化的值,甚至預測某個結果可能發生的時間點。如何達成預測,一方面取決於你的工具,但更重要的,取決於你的預測模型。 所有的工具用到最後,拼的都不再是工具,而是用工具的人。 就像同樣一台相機,馬格南和司馬南,用出來效果肯定不一樣。 [指導型]的分析,回答的也是一個what的問題,但這個問題很直接:我需要做些什麼? 最後,基於你已經知道的「發生了什麼」、「為什麼會發生」以及「未來可能發生什麼」的分析,[指導型]分析可以幫助你確定可以採取的措施,也就是:驅動行動。 雖然我們習慣地稱後兩種分析為「高級分析」,但是比較客觀地說法是:不同類型的分析能提供不同的商業智慧價值,每一種分析都有它自己的用處。對於中小企業團隊來說,80%對於數據的需求,都集中在[描述型]分析與[診斷型]分析之中。那麼,要如何管理數據,才能更高效地利用企業數據完成[描述]與[診斷]呢? 管理數據的方法: 1、弱水三千,先取三千,再取一瓢 中小企業的數據缺乏系統化、規模化的管理,企業數據通常散落在各個部門手中,然後每個部門的數據,散落在不同業務人的手中。若想對企業的全景做出[描述]甚至[診斷]性分析,所要做的第一步是,把所有的數據集中管理——此為「弱水三千,先取三千」。 集中在一起之後,砍掉冗餘數據,統一數據格式與粒度,梳理有業務需要的指標體系,形成CEO管理看板、財務管理看板、銷售管理看板、市場部管理看板、人力資源管理看板等等。每個人看到的,都是跟自己工作密切、直接、實時相關的指標,這叫做「再取一瓢」。 FineReport數據決策系統(樣本) 2、突破IT瓶頸,學會自問自答 管理人員有自己的管理看板,看的可能是比較宏觀的方面。如果發現問題,再進行下鑽分析,讓工作變得更為高效。但業務人員如想要精進業務,不可能滿足於一個固定的看板。最好的方式是,[精準的數據許可權]+[自助式的分析工具]打配合,讓業務人員能夠突破IT瓶頸,用手中的數據,自問自答。 [精準的數據許可權]突破的是數據的所有權;我的業務數據我做主,除了篡改,我應該可以隨時都能看到它們,並且運用它們進行分析,而不是等著IT部門的「施捨」。 [自助式的分析工具],突破的是數據的使用程度,我的業務數據我自己就能分析,而且可以根據我自己的角度來分析,甚至一邊分析一邊修正思路,而不是寫好了需求讓IT人員幫忙分析,想改需求還得愧疚請求,並且耐心等待。 自助式的BI工具有很多,譬如我用FineBI分析時,IT的同事幫我把數據規整到業務包內,需要分析數據時就去業務包內找,數據每晚12點會進行一波更新,以保證數據的時效性。 3、統一認知化工作為合作 最後,我認為,中小企業拼的是活力,是即時反應,是通力合作。企業已經很小了,就不要銷售部門跟市場部門、前端跟後台、人力和行政各種扔鍋撕逼了。用客觀的數據說話,統一對企業目前狀況以及背後原因的認知,把用來撕逼、拋鍋、扔猴兒的時間花在solution與action上,會更棒。

【前言】 從事企業數據化工作7年,起初迷茫厭惡,如今不痛不癢。深知這是一條企業終將要走的路,不如讓自己走在前頭,留下點感悟。閑來分享關於數據分析的思考與知識,也希望能有老司機給我帶帶路。 ———— 首先談談企業數據化運營的「道與術」。數據始於生產,卻又服務於經營。數據能讓我們知道什麼,又能給企業帶來什麼? 數據之道——數據「知道」 「知」體現在數據讓我們知道業務發生著什麼樣的變化,為什麼發生這些變化,這些變化需不需要去改變。「道」反映了數據對結果一語道破的作用,比如今年的業績多少,回款多少。 數據存在於企業各種各樣的應用系統,每個企業都會隨著發展逐步上線ERP、CRM、OA,PLM等系統。在這個發展過程,數據會存在不完整、不集中、不一致、不正確等情況。這些問題一方面是反映了存在的問題,另外一方面也反映了企業正在快速發展,哪一些建設在逐步的完善,這是一個過程,關鍵在於如何去利用這些數據? 數據的利用關鍵在於目的、技術和人 根據不同的目的,它對數據的要求是不一樣的,對數據的中間、問題的透露的柔軟度也是不一樣的。比如我們想對某一個事件進行數據追溯,這時候所需要的數據就非常精確。比如說我們發現一個質量檢測是異常的,那麼就需要分析這個異常背後各式各樣的原始生產記錄,這個過程對數據記錄的準確性要求非常高,否則得出的結論有可能是錯誤的。但對於公司高層領導來說,他需要的分析是一個宏觀的,一個趨勢性的結論。這時候個別的錯誤,並不會影響整個趨勢的判斷。很多決策的制定都是在一直部分情況下做的,通過一部分數據參考,對整個趨勢進行把握,從而得出一個決策。 第二個是技術,包括數據的清洗、篩選、主數據,把不正確的、不完整的、不一致的、不集中的數據通過技術手段解決掉。技術是保障數據按照業務分析邏輯「走路」的重要手段。 第三個方面是人,數據離開了人的探索就缺乏了「靈性」,比如某個異常點,這個異常點代表什麼,如何產生的,這都需要在這方面富有經驗的,有相關行業業務背景的人才才能探出。 所以從上面的角度來看,數據要能產生價值,離不開目的、技術和人才。我們有了一大堆數據,有各式各樣的系統,這些數據是不是就能讓我們知道發生了什麼事情,為什麼會發生,結果是什麼?不一定,我只是判斷一大堆數據,如果我想有大量的報告給一個老總去看的話,他肯定不會去看,因為看不懂。 知管理 數據能讓我們知道管理的異常。比如質量成本管理管理,某產品他的含量在中間含量的變化,統計了一段時間,發現波動非常大。 但實際上,它的上下浮動幅數是10%,我們通過消除質量方面的異常,把它的偏差控制在正負3%,換句話來說它主體的波動降到了6%。結果是什麼呢?通過這個過程,我們把這個產品的原料用量降低了12%,這個在我們行業,如果原料的採購量是1000萬的話,12%就意味著節省了120萬。這就是通過數據分析持續改進所帶來的一個非常明顯的一個效果。這也是企業領導所需要的結論,通過知道原因,去改進,把它變成企業的實際利潤。 道經營 道就是將數據結論以最直觀的方式展示給老闆看。以往領導要知道企業動態,賺不賺錢,需要進入到各個業務系統去查看數據,久而久之這樣的工作會變得枯燥無意義,領導無法以最有效率的手段得到自己想要的信息。但是,我們可以通過一些直觀的手段去把數據用最簡單的方式展現出來,比如通過搭建數據決策平台,將各個系統的數據整合,通過各式各樣豐富的圖表製作來進行分析展示。以郵件、簡訊或者微信的方式推送給領導,給到他們所需要的數據。 所以,總體來講,數據化的目的就是知管理、道經營。沒有管理指導性功能的數據都是無用的。

入門思路有四步 第一步 熟悉各種數據指標 第二步 指標落實到報表和模板 第三步 掌握數據分析方法 第四步 運用數據分析方法論 第五步 系統性理解業務 「一 數據指標」 熟悉數據指標,是數據分析的基礎,就好像是學英文先學字母一樣。 「二 報表分析」 數據分析指標不僅要自己看得懂,還要落實到一個固定的模板去監控展示。 這樣的好處有二,一是不用每次都找技術去導數據,用excel分析數據,有時候還卡得慢;二是通過把指標放到電子模板里展示,彙報分析結果是清晰明了,領導也能直觀得看出數據差異,做決策性分析。 這個一般通過報表製作工具或者BI工具。如果沒有,請死纏爛打找IT同事去開發去買~ 下圖以finereport開發的效果舉例: 流量分析(finereport) 渠道轉化分析(finereport) 活動推廣分析(finereport) 「三 數據分析方法」 對比分析法 指將兩個活兩個以上的數據進行對比,分析他們的差異,從而揭示這些數據所代表的事物發展變化情況和規律。分成兩類: 靜態比較是在同一時間條件下對不同總體指標的比較,也叫橫比 動態比較是在同一條件下對不同時期指標數值的比較,也叫縱比 分組分析法 深入總體的內部進行分組分析。其關鍵在於組數和組距。在數據分組中,各組之間的取值界限成為組限,一個組的最小值稱為下限,最大值稱為上限;上限和下限的差值稱為組距 結構分析法 是指被分析總體內的各部分與總體質檢進行對比的分析方法,即總體內各部分佔總體的比例,屬於相對指標。一般某部分的比例越大,說明其重要程度越高,對總體的影響越大。 結構相對指標(比例)的計算公式為:結構相對指標(比例)=(總體魔偶部分的數值/總體總量)*100% 平均分析法 運用計算平均數的方法來反應總體在一定時間、地點條件下某一數量特徵的一般水平。 交叉分析法 用於分析兩個變數之間的關係,即同時將兩個有一定聯繫的變數及其值交叉排列在一張表格內,使各變數值成為不同變數的交叉節點,形成交叉表,從而分析交叉表中變數之間的關係。 杜邦分析法 杜邦分析通過利用各主要財務指標間的內在聯繫,對企業財務狀況及經濟效益進行綜合分析評價的方法。它的特點是,將若干用於評價企業經營效率和財務狀況的比率按照其內在聯繫有機的結合起來,形成完整的額指標體系,並最終通過權益收益率來綜合和反應。 漏斗圖分析法 以漏斗圖的形式佔線分析過程及結果。能對業務流程有直觀的表現,能說明問題所在。單一的漏斗不能說明好壞,需要利用對比分析方法。 矩陣關聯分析法 是指根據實物的兩個重要屬性座位分析的一句,進行分類關聯分析,找出問題的一種分析方法,也稱為矩陣關聯分析法,簡稱矩陣分析法。在解決問題和資源分配時,為決策者提供重要參考依據。 「四 數據分析方法論」 單純的羅列數據指標,是沒有意義沒有價值的。 需要以行銷、管理等理論為指導,結合實際業務情況,搭建分析框架,這樣才才能得到有價值有指導性的分析結果。 行銷方面的理論模型有4P、用戶使用行為、STP理論、SWOT分析等 管理方面的理論模型有PEST、5W2H、時間管理、生命周期、邏輯樹、金字塔、SMART等 都是經典的行銷、管理方面的理論,需要在工作中不斷實踐應用,體會其中的強大作用。 以分析理論為基礎,搭建的分析框架,會使數據分析變得有血有肉有脈絡,真正做到理論指導實踐。明確數據分析目的以及確定分析思路,是確保數據分析過程有效進行的先決條件,它可以為數據的收集、處理及分析提供清晰的指導方向。 這些跟數據分析相關的行銷、管理等理論統稱為數據分析方法論。 4P行銷理論 它是隨著行銷組合理論的提出而出現的。可以採用4P行銷理論對數據分析指導了解一家公司的整體運營情況。 […]

數據分析要輕方法、重思路,而思路的基本來源是對業務的理解和思考。切勿坐在辦公桌前對著數據空想,或者拖來拖去亂研究。 一位剛加入互聯網企業的數據分析師,他發現公司廣告業務的客戶每個月都會流失幾百個(互聯網企業的盈利模式大都為廣告和遊戲)向上級反饋後,他啟動了一個「互聯網廣告客戶流失分析」項目,認認真真地從系統里提取了流失客戶的相關數據,較勁腦汁地分析了幾天之後,僅僅得到「客戶的廣告效果不好」這一個流失原因。又過了2個月,他被外派到客服部門實習,順便調研下最近流失客戶的原因。在與一線客服一起給流失客戶逐一電話溝通後,他才發現這個世界遠比抽象的數據指標複雜,是有著極其豐富的場景和故事,下表為訪問部分流失客戶的反饋; 客戶流失的原因五花八門,除了部分不控的原因外,還有很多產品功能缺失導致的流失,和實現難以預想的特殊需求導致的流失。這些原因是無法通過「在把公式力分析電腦上的統計數字」所能想像的。一旦了解客戶流失的原因,再去比對數據,不難找出存在類似問題的流失客戶。基於上述一線調研的過程,該分析師最終寫出下面的流失分析報告。大家看是不是比「客戶廣告的效果不好「的分析結論深刻、豐富很多! 案例:廣告流失分析結論 一方面,由於互聯網媒體與電視媒體相比,可投放的位置資源更多,所以它的客戶群體要更加寬泛,很多中小企業都可以在網上推廣自己的產品。但中小企業的普遍問題就是抗風險能力不強,經常有資金欠缺問題。可以提供短期的信貸服務幫助他們進行推廣投入。部分中小企業主對互聯網新生事物了解較少,所以需要對他們進行行銷理念的培訓並提供方便的線下支付渠道,甚至一些傳統媒體上(如廣播、電視)做互聯網行銷有效性的廣告,提高平台的知名度。 另一方面,產品功能也有待完善。比如現在沒有提供工具能讓客戶很好的評估推廣帶來的銷售增長,讓客戶只能通過停止推廣這種簡單粗暴的方式來實驗;互聯網廣告產品的複雜度過高,很多時候也限制了廣告主的使用意願。因為他們掌握投放方法需要較大的學習成本,所以更希望一站式的託管;部分廣告主的需求僅是在網路上宣傳自己的品牌,而不需要通過網上渠道進行售賣。針對這種需求,可以研發出更細分的產品。 FineReport報表 只有對業務有充分的調研和思考,才能產生有價值的分析思路。否則,在辦公室對著數據做各種假設和空想,最終結論只能浮在數據表面。

對於程序員這一職業的爭議有很多,有人說程序員越老越吃香,又有人說年齡越大精力越差,越不好找工作? 年齡一天天在增長,程序員在修行過程中,有沒有在單位做到不可替代?——這應該是問題的核心! 講兩個故事。 一、老程序員A,簡稱老A 老A是一個在端游混跡了十年的老程序員,C++有7,8年經驗,但是對C#和JAVA上手也很快,編程語言有太多的相似點了。最近公司要把一個端游移植到手游平台上,使用的是unity技術。他熟悉了一個月,短短2,3個月就移植過去了,整個代碼和架構都重新優化的很好,把以前不足的地方進行了優化。老A不常加班,白天不苟言笑,從不浪費時間,業餘時間會看代碼學技術做項目,據說做項目的錢能抵得上他的工資,歷練的多技術也很強。 所以,一個樂於學習、善於總結、時刻擁抱新技術的程序員,他的年齡意味著豐富經驗,意味著效率。他能指出並帶人繞過一個一個技術大坑,笑看風雲而不掉進去;他能指出一條最佳路徑和技術方案,不用繞彎即能直達目標。這樣的老程序員,就是能給公司節約大量成本的高手,當然越老越吃香。 二、第二個老程序員B,簡稱二B 一個只編碼不思考,長期把自己置於舒適區的程序員,害怕學習新事物,不肯多做不肯吃虧業餘不肯學新東西,恨不得學一個技術用一輩子的程序員,他的年齡增大,精力變差,意味著被邊緣化。他是一個在底層默默奉獻了十多年的程序員,每天根據經理要求勤勤懇懇完成代碼編寫,遇到技術難題反正有高手能幫助解決,需要學習新技術的高難項目,能不進項目組就不進項目組,偏安一方。他年年都有輕微的加薪,可隨著年資增長,家庭拖累越來越厲害,精力下降,可是手頭的技能少,又不習慣學新東西。如果一個新大學生入職,單身狗能加班,精力好有衝勁腦子快,關鍵還薪資低,你說老闆怎麼樣。 所以,要說程序員越老越吃香?那是因為抓住每一個成長的機會,熱愛自己的工作,願意肯花時間學習,磨鍊自己的技術。生活不會給與你太多運氣和機遇,一旦遇到就趕緊抓住,比如參加下方的可視化插件大賽: 都有哪些獎勵? 這究竟是一場什麼比賽? 這場比賽的最終目標是,開發可應用於帆軟產品的數據可視化插件。 目前市面上已經有很多開源的數據可視化工具, 譬如Highcharts、D3.js、百度Echarts、螞蟻金服AntV、Google Charts、Raphael.js、Sigma.js、three.js等。屆時,大賽組委會會指定部分圖表類型作為參賽選題,參賽者根據提供的開發教程,將他們製作成可在帆軟產品上使用的插件,比如帶輪播動畫的環形圖,支援數據標註的3D地球等等。(當然如果你也可以向主辦方提交自己的想法,確認後可作為選題) 大賽開始前後,會提供給大家非常詳細的開發教程,開發過程中也會提供必要的技術指導。只需要會Java、js、css即可放心報名。 插件作者?開發者認證?收益分成? 如果了解帆軟的同學,可能知道帆軟一直在營造一個共贏的帆軟生態,而開發者聯盟正是提供給所有開發者一個實操平台。帆軟旗下擁有報表產品FineReport,以及商業智慧產品FineBI,目前已擁有6000+付費客戶,有2萬多個企業項目使用了帆軟產品,絕大部分客戶都有強烈的數據可視化需求,所以開發項目一旦通過並且被客戶認可下載,便可獲得源源不斷的收益。(比如某開發的插件被認可上線,售價3000,一個月內有500次的下載,收益分成=3000*500*0.3=45000) 如何參加? 參與方式1:直接登錄帆軟論壇首頁 參與方式2:關注「帆軟軟體」,回復「可視化插件大賽」 查看比賽細則——點擊「我要參加」按鈕,報名時會有邀請人輸入框,如若填寫了邀請人,則邀請人和被邀請人將分別獲得100元。有效參賽後主辦方會點擊審核通過 何為邀請和被邀請? 依據六度人脈理論的魅力,相信大家都有自己的好友圈子。無論你是否報名參賽,都歡迎邀請你身邊的開發人員參加,一旦有效參賽,你們2個都將獲得100元的獎勵,當然你邀請的人還會獲得誘人的大賽獎金,說不定能給你發一個大大的紅包。比賽的時間為7月20日~11月20日,在大賽結束之前你都可以邀請別人蔘賽,邀請人數和獎勵無上限。 數據可視化的魅力 這次帆軟可視化插件開發大賽,得到了國際知名圖表 Highcharts 的鼎力支援。Highcharts 具有簡單易用、交互性強、圖表類型豐富等特點,72個全球100強企業及眾多國內知名企業都在使用它,實力可見一斑,推薦開發者在此次大賽中使用 對比賽中使用 Highcharts 的開發者,由帆軟合作夥伴簡數科技(Highcharts 國內運營團隊)提供如下特別服務和支援: ①在此次大賽中 Highcharts 團隊提供可行性方案、全程技術支援服務,更容易拿高分! ②贈送 Highcharts 精美紀念品(紀念杯、書籍及貼紙等) PPT創意插件—滾動條調節數據值 google發布的數據可視化小工具Data Gif Maker ORA公司研究的HALO技術,將數據的可視化用動態的波紋與粒子的方式呈現。 又比如百度Echarts GL 關於主辦方帆軟 帆軟軟體有限公司成立於2006年,是中國國內商業智慧和數據分析平台提供商,沉澱數據分析領域十餘年,致力於為全球企業提供一站式數據分析解決方案;同時也是行業優質交流平台的組織者。 經過10餘年的發展,帆軟軟體在數據分析行業的品牌領導力和品牌影響力上已遙遙領先;公司旗下產品報表製作軟體FineReport、大數據分析軟體BI工具FineBI等在各自的領域內處於領先地位,企業客戶企業客戶總計超過6000家,增量、總量均為業內第一;用戶開發者超30萬人,每天有超過200萬人使用帆軟產品。

無論是採集數據,還是存儲數據,都不是大數據平台的最終目標。失去數據處理環節,即使珍貴如金礦一般的數據也不過是一堆廢鐵而已。數據處理是大數據分析軟體產業的核心路徑,然後再加上最後一公里的數據可視化,整個鏈條就算徹底走通了。 數據處理的分類 如下圖所示,我們可以從業務、技術與編程模型三個不同的視角對數據處理進行歸類: 業務角度的分類與具體的業務場景有關,但最終會制約技術的選型,尤其是數據存儲的選型。例如,針對查詢檢索中的全文本搜索,ElasticSearch會是最佳的選擇,而針對統計分析,則因為統計分析涉及到的運算,可能都是針對一列數據,例如針對銷量進行求和運算,就是針對銷量這一整列的數據,此時,選擇列式存儲結構可能更加適宜。 在技術角度的分類中,嚴格地講,SQL方式並不能分為單獨的一類,它其實可以看做是對API的封裝,通過SQL這種DSL來包裝具體的處理技術,從而降低數據處理腳本的遷移成本。畢竟,多數企業內部的數據處理系統,在進入大數據時代之前,大多以SQL形式來訪問存儲的數據。大體上,SQL是針對MapReduce的包裝,例如Hive、Impala或者Spark SQL。 Streaming流處理可以實時地接收由上游源源不斷傳來的數據,然後以某個細小的時間窗口為單位對這個過程中的數據進行處理。消費的上游數據可以是通過網路傳遞過來的位元組流、從HDFS讀取的數據流,又或者是消息隊列傳來的消息流。通常,它對應的就是編程模型中的實時編程模型。 機器學習與深度學習都屬於深度分析的範疇。隨著Google的AlphaGo以及TensorFlow框架的開源,深度學習變成了一門顯學。我了解不多,這裡就不露怯了。 機器學習與常見的數據分析稍有不同,通常需要多個階段經歷多次迭代才能得到滿意的結果。下圖是深度分析的架構圖: 針對存儲的數據,需要採集數據樣本並進行特徵提取,然後對樣本數據進行訓練,並得到數據模型。倘若該模型經過測試是滿足需求的,則可以運用到數據分析場景中,否則需要調整演算法與模型,再進行下一次的迭代。 編程模型中的離線編程模型以Hadoop的MapReduce為代表,內存編程模型則以Spark為代表,實時編程模型則主要指的是流處理,當然也可能採用Lambda架構,在Batch Layer(即離線編程模型)與Speed Layer(實時編程模型)之間建立Serving Layer,利用空閑時間與空閑資源,又或者在寫入數據的同時,對離線編程模型要處理的大數據進行預先計算(聚合),從而形成一種融合的視圖存儲在資料庫中(如HBase),以便於快速查詢或計算。 場景驅動數據處理 不同的業務場景(業務場景可能出現混合)需要的數據處理技術不盡相同,因而在一個大數據系統下可能需要多種技術(編程模型)的混合。 場景1:某廠商的輿情分析 某廠商在實施輿情分析時,根據基於需求,與數據處理有關的部分就包括:語義分析、全文本搜索與統計分析。通過網路爬蟲抓取過來的數據會寫入到Kafka,而消費端則通過Spark Streaming對數據進行去重去噪,之後交給SAS的ECC伺服器進行文本的語義分析。分析後的數據會同時寫入到HDFS(Parquet格式的文本)和ElasticSearch。同時,為了避免因為去重去噪演算法的誤差而導致部分有用數據被「誤殺」,在MongoDB中還保存了一份全量數據。如下圖所示: 場景2:Airbnb的大數據平台 Airbnb的大數據平台也根據業務場景提供了多種處理方式,整個平台的架構如下圖所示: Panoramix(現更名為Caravel)為Airbnb提供數據探查功能,並對結果進行可視化,Airpal則是基於Web的查詢執行工具,它們的底層都是通過Presto對HDFS執行數據查詢。Spark集群則為Airbnb的工程師與數據科學家提供機器學習與流處理的平台。 大數據平台的整體結構 行文至此,整個大數據平台系列的講解就快結束了。最後,我結合數據源、數據採集、數據存儲與數據處理這四個環節給出了一個整體結構圖,如下圖所示: 這幅圖以查詢檢索場景、OLAP場景、統計分析場景與深度分析場景作為核心的四個場景,並以不同顏色標識不同的編程模型。從左到右,經曆數據源、數據採集、數據存儲和數據處理四個相對完整的階段,可供大數據平台的整體參考。 標籤 | 大數據 架構 作者 | 張逸

數據可視化是指將數據以視覺的形式來呈現,如圖表或地圖,以幫助人們了解這些數據的意義。通過觀察數字、統計數據加以轉換獲得清晰的結論並不是一件容易的事。而人類大腦對視覺信息的處理優於對文本的處理,因此使用圖表、圖形和設計元素把數據進行可視化,可以幫你更容易的解釋數據模式、趨勢、統計規律和數據相關性,而這些內容在其他呈現方式下可能難以被發現。可視化可簡明地定義為:通過可視表達增強人們完成某些任務的效率。 任何形式的數據可視化都會由豐富的內容、引人注意的視覺效果、精細的製作三個要素組成,概括起來就是新穎而有趣、充實而高效、美感且悅目三個特徵。 很多數據產品在幫助數據分析的同時提供了內置的可視化圖表,也提供了配色參考建議,諸如以下我用FineReport(報表製作工具)做的產品分析。 下面分別從數據可視化的價值、什麼是好的可視化、數據可視化難在哪裡、可視化過程中的注意事項、單個圖表製作的構建過程幾個方面聊聊數據可視化,最後推薦幾本經典圖書。 數據可視化的價值 數據可視化都有一個共同的目的,那就是準確而高效、精簡而全面地傳遞信息和知識。可視化能將不可見的數據現象轉化為可見的圖形符號,能將錯綜複雜、看起來沒法解釋和關聯的數據,建立起聯繫和關聯,發現規律和特徵,獲得更有商業價值的洞見和價值。並且利用合適的圖表直截了當且清晰而直觀地表達出來,實現數據自我解釋、讓數據說話的目的。而人類右腦記憶圖像的速度比左腦記憶抽象的文字快100萬倍。因此,數據可視化能夠加深和強化受眾對於數據的理解和記憶。 圖形表現數據,實際上比傳統的統計分析法更加精確和有啟發性。我們可以藉助可視化的圖表尋找數據規律、分析推理、預測未來趨勢。另外,利用可視化技術可以實時監控業務運行狀況,更加陽光透明,及時發現問題第一時間做出應對。例如天貓的雙11數據大屏實況直播,又比如生產車間的大屏。可視化大屏展示大數據分析軟體平台的資源利用、任務成功率、實時數據量等。 好的數據可視化 數據可視化能做到簡單、充實、高效、兼具美感就是好的可視化: 簡單點說好的數據可視化和好的產品是一樣,都有友好的用戶體驗,不能讓人花了時間又看得一頭霧水,甚至被誤導得出錯誤的結論。準確 用最簡單的方式傳遞最準確的信息,節約人們思考的時間。 最簡單方式就是最合理的圖表,需要根據比較關係、數據維數、數據多少選擇。 充實一份數據分析報告或者解釋清楚一個問題,很少是單一一個的圖表能夠完成的,都需要多個指標或者同一指標的不同維度相互配合佐證分析結論。 高效成功的可視化,雖表面簡單卻富含深意,可以讓觀察者一眼就能洞察事實併產生新的理解,管理者能夠沿著你規劃的可視化路徑能夠迅速地找到和發現決策之道。 美感除了準確、充實高效外,也需要美觀。 美觀分為兩個層次,第一層是整體協調美,沒有多餘元素,圖表中的坐標軸、形狀、線條、字體、標籤、標題排版等元素是經過合理安排的 ,UI設計中的四大原則(對比、重複、對齊、親密性) 同樣適用於圖表。 第二層才是讓人愉悅的視覺美,色彩應用恰到好處。把握好視覺元素中色彩的運用,使圖形變得更加生動、有趣,信息表達得更加準確和直觀。色彩可以幫助人們對信息進行深入分類、強調或淡化,生動而有趣的可視化作品的表現形式,常常給受眾帶來視覺效果上的享受。協調美是視覺美的基礎。 數據可視化難在哪裡 好的產品體驗不是一件容易的事情,是專業產品經理、UE、UI完美配合的產物,同樣做好數據可視化也不容易,需要具備一定的數據分析能力、熟練使用可視化工具、較好的美術素養、良好的用戶體驗感覺,還能夠換位到受眾角度審視自己的作品,光有理論遠遠不夠,還需要大量的實踐磨鍊,把理論固化成自己的感覺。 1. 數據不準確、結論不是很清晰,所以數據可視化的最大難點在數據可視化之外的基礎性工作,數據收集、數據分析沒有做好,可視化就是徒勞無功。 2. 數據可視化是用高度抽象的圖表展示複雜的數據、信息,需要邏輯及其嚴密 3. 維度多、變數多,不確定應該展示哪些信息?數據過多,需要採用互動式的展現可視化, 例如,可以充分利用地域的分級包含關係展示不同地域層次的圖表。 4. 和UI圖形界面相比,圖表只有有限的文字、圖形指引,不能很好的說明數據的上下文關係。 5. 圖表高度抽象,對於閱讀者素質要求很高,閱讀者也需要了解各類圖表所傳遞的對比關係、異同等基礎知識。 6. 選擇正確的圖表不容易,各類圖表都有自己的優勢和局限性,光柱狀圖就有一般柱狀圖、分組柱狀圖、堆積柱狀圖、橫線柱狀圖、雙向柱狀圖等。 7. 圖表細節處見真功夫,圖表需要考慮細節實在是太多,布局、元素、刻度、單位、圖例等等都需要合理。 細節處理不到位,影響可視化的效果,例如:折線太細不便於觀察線太粗又抹平了趨勢細節; 更嚴重問題可能誤導受眾, 例如:刻度選取不合理折線過於陡峭 。 可視化過程的注意事項 總結幾點注意事項,少走些彎路: 1. 數據圖表主要作用是傳遞信息,不要用它們選技巧,不要追求過分漂亮,以反映業務問題為主 2. 不要試圖在一張圖中表達所有的信息,不要讓圖表太沉重,適得其反 3. 數據可視化是以業務邏輯為主線串聯,不要隨意堆砌圖表 4. 避免過度開發,什麼數據都想展現,數據太多就選擇最核心的數據指標、和正常偏差大的、能支援分析結論的 5. 不要試圖掩蓋問題,迴避「不良結論」,真實反映業務,暴露問題 6. 避免過度設計,一般不適用3D、陰影,合理運用色彩同樣能讓圖表顯示的很高級 數據產品的表現層可算作是大型的數據可視化項目,是產品設計方法和可視化方法的結合,分別掌握的產品設計方法和可視化方法然後綜合運用不是什麼難事,這裡只說說單個圖表的構建過程,以此引申出後續《圖表可視化系列》文章。 […]