本節將介紹幾個常用的商品分析模型,包括商品價格敏感度模型、新產品市場定位模型、銷售預測模型、商品關聯銷售模型、異常訂單檢測模型、商品規劃的最優組合。

1
商品價格敏感度模型
商品價格敏感度模型是指通過研究找到用戶對於價格是否敏感以及敏感程度的價格槓桿。利用價格敏感度模型可以輔助於銷售定價,促銷活動的折扣方式、參考價格、價格變動幅度等方面的參考。
例如:
促銷活動時是否應該包含M2商品;當商品M3提價100元時,訂單量會如何變化;在商品詳情頁的參考價格應該定為多少才能讓客戶感覺到已經降價並觸發下單動作;滿減、滿返、跨品類用券等哪些方式最適合M4商品。
商品價格敏感度分析可以通過兩種方式實現:
1.調研問卷法
通過調研問卷的形式針對關注的品類或商品做調研分析是比較通用的一種方法。這種方法可以獲得品類詳細信息,並且可以通過問卷設置不同的關注信息點,收集到的信息更符合實際需求。
但是,當面臨新的價格敏感度分析需求時,通常都需要重新開展調研分析工作。這種方式實施起來周期較長且反饋結果較慢,另外,當要收集的商品信息較多時,可能很難獲得完整數據。
2.數據建模法
通過數據建模的方式建立商品價格和銷售量之間的關係模型是研究價格敏感度的有效方法。
這種方法實施起來相對簡單:
首先,收集不同價格下的銷售數據。價格敏感度模型需要有基於不同價格下的銷售數據產生,因此需要商品運營部門針對性的做調價。這種調價動作根據需求的不同,可能是長期的,也可能是短期的。
長期的調價是一種「自然狀態」,因為在一個較長周期內商品會經歷生命周期的不同階段,並結合商品促銷、打折等運營工作產生多種價格和銷售數據;而短期的調價更多的是為了採集數據而產生。
其次,數據建模分析。商品價格敏感度模型關注的主要是價格和銷量之間的關係,可以用回歸方法來解決。在回歸方法中,自變數中除了價格外,還需要包含其他兩類信息:
- 商品信息,商品品類、上市時間、同期競爭對手價格、是否參與促銷活動、促銷方式、折扣力度、通用屬性等。
- 客戶信息,客戶性別、年齡、收入、學歷、會員級別、歷史訂單量、品類偏好度、活躍度、價值度等。
之所以要將大量的商品信息和客戶信息加入到回歸模型中,是因為如果只針對價格和商品銷售量做回歸,那麼價格本身能解釋的商品銷售量變化可能會非常有限,銷量的變化還可能受到其他很多因素的影響,因此要在控制這些干擾因素的前提下做回歸模型。
2
新產品市場定位模型
新產品市場定位分析用於當企業新生產或策劃一款產品時,需要根據市場上現有的競爭對手產品情況做定位分析。
該分析的目的是評估新產品與哪些產品能形成競品關係,可以針對性地找到與競品的差異性和優勢,例如功能特點、使用周期、產品質量等,從而應用到產品定價、市場宣傳、渠道推廣等方面。
新產品市場定位分析可以通過基於相似度的方法實現。
例如:使用非監督式的KNN(K近鄰),模型的核心是通過對新產品的數據與現有數據的比較,發現跟新產品相似的其他產品。
通過KNN實現新產品市場定位分析的步驟如下:
- 步驟1:數據準備。先準備好要訓練的數據集,由於這不是一個分類應用,因此數據集中只包含不同競品的特徵變數即可,無需目標變數。
- 步驟2:數據預處理。預處理過程根據數據集情況可能包括二值化標誌轉換、缺失值處理、異常值處理、數據標準化等。需要注意的是, 由於是基於距離的計算,分類和順序變數需要做二值化轉換,異常值(包括量綱和值的異常)都會對相似度產生重大影響。
- 步驟3:建立KNN模型並訓練模型。直接使用NearestNeighbors方法建立模型後使用fit方法做訓練。
- 步驟4:找到新產品最近的K個相似產品。使用KNN模型的 kneighbors方法獲得指定數量的K個近鄰。
如下是一段簡單但包含了核心步驟的示例:
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表達第三個)
3
銷售預測模型
銷售預測模型根據歷史的銷售數據來預測未來可能產生的銷售情況。該模型常用於促銷活動前的費用申請、目標制定、活動策略等的輔助支持。
銷售預測模型通常要得到的結果為未來會產生多少銷售量、收入、訂單量等具體數值,可通過時間序列、回歸和分類三種方法實現。
- 基於時間序列做銷售預測。使用時間序列做銷售預測的方法常用於沒有太多可用的自變數的場景下,只能基於歷史的銷售數據做預測性分析。有關時間序列的更多話題,後面再講。
- 基於回歸做銷售預測。基於可控的特徵變數建立回歸模型來預測未來的銷售情況是更常用的方法,有關回歸模型的更多內容,後面再講。
- 基於分類做銷售預測。分類方法是針對每個銷售客戶產生的是否購買的預測分類,然後再基於能產生購買的預測分類做客單價、訂單量和收入的分析。這是一種對於具體數值的變通實現思路。有關分類分析的更多內容,後面再講。
4
商品關聯銷售模型
商品關聯銷售模型主要用來解決哪些商品可以一起售賣或不能一起打包組合的問題。關聯銷售是商品銷售的常態,也是促進單次銷售收入和拉升復購效果的有效手段。
商品關聯銷售模型的實現方式是關聯類演算法,包括Apriori、FP-Growth、PrefixSpan、SPADE、AprioriAll、AprioriSome等,主要實現的是基於一次訂單內的交叉銷售以及基於時間序列的關聯銷售。
關聯銷售演算法的實現步驟上與普通的監督式和監督式演算法略有不同,原因是關聯分析對於數據集的要求不同。一般包括三種數據源格式:
- 第一種是事務型交易數據,典型的數據格式是每個數據行以訂單 ID或客戶ID作為關聯分析的參照維度,如果同一個訂單內有多少個商品,那麼將會有多個數據行記錄,如下圖:

- 第二種是合併後的交易數據,數據格式是每個數據行以訂單ID或客戶ID作為分析的參照維度,如果同一個訂單內有多個商品,那麼多個商品會被合併到一條記錄中,如下圖:

- 第三種是真值表格數據,每個數據行是每個訂單ID或客戶ID,列是每個要關聯項目的是否購買值,通常以T或F來表示,如下圖:

以上三種數據格式中,第一種和第二種常見於企業內部的源數據環境或數據倉庫,第三種需要經過ETL處理得到,很多第三方工具也可以提供這種數據形式。如果企業內不具備能夠直接做關聯分析的數據,則需要做對應處理。
5
異常訂單檢測
異常訂單檢測用來識別在訂單(尤其是促銷活動中的訂單)中的異常狀態,目標找到非普通用戶的訂單記錄,例如黃牛訂單、惡意訂單、商家刷單等。
- 黃牛訂單會大量削減促銷對普通用戶的吸引程度,使得促銷權益和利益被一小部分人獲取,而非給到目標會員。
- 惡意訂單則更加危險,很多競爭對手間會通常這種方式在促銷活動中,將大量的商品庫存通過訂單的方式鎖定,然後再活動結束後通過取消、退貨等方式釋放庫存。這種方式將使促銷活動由於無法真正賣出商品而無法實現促銷的目的,同時還會消耗公司大量的人力、物力,是各個公司都非常反感的惡意競爭方式。
- 商家刷單是一種常見的用於提升商家排名的方式,通常由商家來安排內部或關聯人員大量購買商品,以形成商家流量和銷售提升的目的。
異常訂單檢測主要基於兩類方法實現:
- 基於監督式的分類演算法:將歷史已經識別出來的真實異常訂單數據通過分類模型(例如SVM、隨機森林等)做訓練,然後應用新數據做分類預測,看預測結果是否屬於異常訂單。
- 基於非監督式的演算法:通過非監督式演算法(例如OneClassSVM)基於歷史的數據做訓練,然後針對新的數據做判別,找到存在異常可能性標籤的訂單列表。
6
商品規劃的最優組合
在做商品促銷或廣告宣傳時,通常企業會面臨多種組合策略,它是在一定限制條件下考慮通過何種組合策略來實現最大或最小目標。此時,可以考慮使用線性規劃方法。
線性規劃(Linear programming,LP)是運籌學中研究比較早、方式相對成熟且實用性非常強的研究領域,主要用來輔助人們進行科學管理,目標是合理地利用有限的人力、物力、財力等資源作出的最優決策。
解決簡單線性規劃問題的最直接的方法是圖解法,即藉助直線與平面區域的交點求解直線在y軸上的截距的最大值或最小值。
在做線性規劃時涉及幾個概念:
- 未知數:影響決策主要變數或因素。
- 約束條件:解決線性規劃問題時已知的並須遵守的前提條件。
- 目標函數:用來表示未知數與目標變數關係的函數,線性規劃中一般是線性函數。
- 可行域:滿足優化問題約束條件的解叫作可行解,由所有可行解組成的集合叫作可行域。
- 最優解:滿足目標函數最大化或最小化目標的最優的解。
實現線性規劃的基本步驟如下:
- 步驟1:找到影響目標的主要因素,它們是規劃中的未知數。
- 步驟2:基於未知數確定線性約束條件。
- 步驟3:由未知數和目標之間的關係確定目標函數。
- 步驟4:找到直角坐標系中的可行域。
- 步驟5:在可行域內求目標函數的最優解及最優值。
為了能清晰地表達上述概念和步驟,在此通過一個簡單的示例演示該過程。
假設公司有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的交點,求解兩個函數的解用到的是九年義務教育階段基本數學知識。

- 步驟1:將等式1做轉換:X1=45-X2 然後將轉換後的X1代入等式2,並依次求解:
- 步驟2:60(45-X2)+30X2=1800
- 步驟3:2700-60X2+30X2=1800
- 步驟4:2700-30X2=1800
- 步驟5:30X2=900
- 步驟6:X2=30
- 步驟7:X1=45-30=15
- 步驟8:然後將X1和X2帶入目標函數:z=40X1+30X2=40×15+30×30=1500
如果線性規劃中有多個變數,那麼我們無法通過圖形的方式直接發現最優值的位置,此時可以藉助Python的線性規劃庫來完成線性求解工作,包括scipy、optimize、linprog、pulp等。
原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/323734.html