本節將介紹幾個經常使用的商品分析模型,包括商品價格敏感度模型、新產品市場定位模型、銷售預測模型、商品關聯銷售模型、異常訂單檢測模型、商品規劃的最優組合。算法
商品價格敏感度模型是指經過研究找到用戶對於價格是否敏感以及敏感程度的價格槓桿。利用價格敏感度模型能夠輔助於銷售訂價,促銷活動的折扣方式、參考價格、價格變更幅度等方面的參考。例如:bash
商品價格敏感度分析能夠經過兩種方式實現。函數
經過調研問卷的形式針對關注的品類或商品作調研分析是比較通用的一種方法。這種方法能夠得到品類詳細信息,而且能夠經過問卷設置不一樣的關注信息點,收集到的信息更符合實際需求。工具
可是,當面臨新的價格敏感度分析需求時,一般都須要從新開展調研分析工做。這種方式實施起來週期較長且反饋結果較慢,另外,當要收集的商品信息較多時,可能很難得到完整數據。優化
經過數據建模的方式創建商品價格和銷售量之間的關係模型是研究價格敏感度的有效方法。這種方法實施起來相對簡單:spa
首先,收集不一樣價格下的銷售數據。價格敏感度模型須要有基於不一樣價格下的銷售數據產生,所以須要商品運營部門針對性的作調價。這種調價動做根據需求的不一樣,多是長期的,也多是短時間的。長期的調價是一種「天然狀態」,由於在一個較長週期內商品會經歷生命週期的不一樣階段,並結合商品促銷、打折等運營工做產生多種價格和銷售數據;而短時間的調價更多的是爲了採集數據而產生。3d
其次,數據建模分析。商品價格敏感度模型關注的主要是價格和銷量之間的關係,能夠用迴歸方法來解決。在迴歸方法中,自變量中除了價格外,還須要包含其餘兩類信息:rest
之因此要將大量的商品信息和客戶信息加入到迴歸模型中,是由於若是隻針對價格和商品銷售量作迴歸,那麼價格自己能解釋的商品銷售量變化可能會很是有限,銷量的變化還可能受到其餘不少因素的影響,所以要在控制這些干擾因素的前提下作迴歸模型。code
新產品市場定位分析用於當企業新生產或策劃一款產品時,須要根據市場上現有的競爭對手產品狀況作定位分析。該分析的目的是評估新產品與哪些產品能造成競品關係,能夠針對性地找到與競品的差別性和優點,例如功能特色、使用週期、產品質量等,從而應用到產品訂價、市場宣傳、渠道推廣等方面。cdn
新產品市場定位分析能夠經過基於類似度的方法實現。例如,使用非監督式的KNN(K近鄰),模型的核心是經過對新產品的數據與現有數據的比較,發現跟新產品類似的其餘產品。經過KNN實現新產品市場定位分析的步驟以下:
以下是一段簡單但包含了核心步驟的示例:
from sklearn.neighbors import NearestNeighbors #導入NearestNeighbors庫
X = [[0., 0.1, 0.6], [0., 1.5, 0.3], [1.2, 1.6, 0.5]] #定義訓練集,訓練集包含3 條記錄,每一個記錄包含3個特徵變量
neigh = NearestNeighbors(n_neighbors=1) #創建非監督式的KNN模型對象 neigh.fit(X) # 訓練模型對象
new_X = [[1., 1., 1.]] #要預測的新產品數據 print(neigh.kneighbors(new_X)) #打印輸出新產品最類似的訓練集產品
複製代碼
結果:
(array([[ 0.80622577]]), array([[2]]))
複製代碼
其中第一個數字是與新產品數據最類似的產品的距離,第二個數字是對應最類似產品記錄的索引值(注意索引值從0開始,2表達第三個)。
銷售預測模型根據歷史的銷售數據來預測將來可能產生的銷售狀況。該模型經常使用於促銷活動前的費用申請、目標制定、活動策略等的輔助支持。
銷售預測模型一般要獲得的結果爲將來會產生多少銷售量、收入、訂單量等具體數值,可經過時間序列、迴歸和分類三種方法實現。
商品關聯銷售模型主要用來解決哪些商品能夠一塊兒售賣或不能一塊兒打包組合的問題。關聯銷售是商品銷售的常態,也是促進單次銷售收入和拉昇復購效果的有效手段。
商品關聯銷售模型的實現方式是關聯類算法,包括Apriori、FP-Growth、PrefixSpan、SPADE、AprioriAll、AprioriSome等,主要實現的是基於一次訂單內的交叉銷售以及基於時間序列的關聯銷售。
關聯銷售算法的實現步驟上與普通的監督式和監督式算法略有不一樣,緣由是關聯分析對於數據集的要求不一樣。通常包括三種數據源格式:
以上三種數據格式中,第一種和第二種常見於企業內部的源數據環境或數據倉庫,第三種須要通過ETL處理獲得,不少第三方工具也能夠提供這種數據形式。若是企業內不具有可以直接作關聯分析的數據,則須要作對應處理。有關關聯分析的更多內容,後面再講。
異常訂單檢測用來識別在訂單(尤爲是促銷活動中的訂單)中的異常狀態,目標找到非普通用戶的訂單記錄,例如黃牛訂單、惡意訂單、商家刷單等。
黃牛訂單會大量削減促銷對普通用戶的吸引程度,使得促銷權益和利益被一小部分人獲取,而非給到目標會員。
惡意訂單則更加危險,不少競爭對手間會一般這種方式在促銷活動中,將大量的商品庫存經過訂單的方式鎖定,而後再活動結束後經過取消、退貨等方式釋放庫存。這種方式將使促銷活動因爲沒法真正賣出商品而沒法實現促銷的目的,同時還會消耗公司大量的人力、物力,是各個公司都很是反感的惡意競爭方式。
商家刷單是一種常見的用於提高商家排名的方式,一般由商家來安排內部或關聯人員大量購買商品,以造成商家流量和銷售提高的目的。
異常訂單檢測主要基於兩類方法實現:
在作商品促銷或廣告宣傳時,一般企業會面臨多種組合策略,它是在必定限制條件下考慮經過何種組合策略來實現最大或最小目標。此時,能夠考慮使用線性規劃方法。
線性規劃(Linear programming,LP)是運籌學中研究比較早、方式相對成熟且實用性很是強的研究領域,主要用來輔助人們進行科學管理,目標是合理地利用有限的人力、物力、財力等資源做出的最優決策。解決簡單線性規劃問題的最直接的方法是圖解法,即藉助直線與平面區域的交點求解直線在y軸上的截距的最大值或最小值。
在作線性規劃時涉及幾個概念:
實現線性規劃的基本步驟以下:
爲了能清晰地表達上述概念和步驟,在此經過一個簡單的示例演示該過程。
假設公司有P1和P2兩種商品,當推廣P1商品時,每次費用爲60元;當推廣P2商品時,每次費用爲30元。如今公司有1800元預算能夠用來作P1和P2商品推廣,其中受到兩種商品尺寸和品類的限制,P1商品最多隻能投放20次,P2商品最多隻能投放40次,而且兩種商品的總投放次數不超過45次。已知每次推廣P1和P2的商品分別能得到單品毛利爲40元和30元,問:如何安排P1和P2的商品投放次數才能達到銷售毛利最大化目標?
爲了解決問題,咱們假設P1和P2兩種商品的投放次數分別是X1和X2,最大化銷售毛利爲z,此時:
因爲這是一個簡單二維變量,所以能夠先畫出直角座標圖和可行域,而後基於目標函數找到最優解位置
經過圖能夠發現最優解是目標函數與X1+X2=45和60X1+30X2=1800的交點,求解兩個函數的解用到的是九年義務教育階段基本數學知識。
若是線性規劃中有多個變量,那麼咱們沒法經過圖形的方式直接發現最優值的位置,此時能夠藉助Python的線性規劃庫來完成線性求解工做,包括scipy.optimize.linprog、pulp等。