簡體   English   中英

使用 Python 預測銷售數據

[英]Predicting Sales Data with Python

我有一個隨機數組成的數據集,其中包含每個銷售代表前幾個月的銷售數據,我想知道是否有辦法預測每個代表下個月的銷售情況。 我不確定機器學習方法是否可以在這里使用。

我主要是在尋求解決這個問題的最佳方法,不需要代碼,但也許是最適合這類問題的方法。 這是我感興趣的東西,並希望將來應用於更大的數據集。

data = [[1 , 55, 12, 25, 42, 66, 89, 75, 32, 43, 15, 32, 45], 
        [2 , 35, 28, 43, 25, 54, 76, 92, 34, 12, 14, 35, 63],
        [3 ,13, 31, 15, 75, 4, 14, 54, 23, 15, 72, 12, 51],
        [4 ,42, 94, 22, 34, 32, 45, 31, 34, 65, 10, 15, 18],
        [5 ,7, 51, 29, 14, 92, 28, 64, 100, 69, 89, 4, 95],
        [6 , 34, 20, 59, 49, 94, 92, 45, 91, 28, 22, 43, 30],
        [7 , 50, 4, 5, 45, 62, 71, 87, 8, 74, 30, 3, 46],
        [8 , 12, 54, 35, 25, 52, 97, 67, 56, 62, 99, 83, 9],
        [9 , 50, 75, 92, 57, 45, 91, 83, 13, 31, 89, 33, 58],
        [10 , 5, 89, 90, 14, 72, 99, 51, 29, 91, 34, 25, 2]]

df = pd.DataFrame (data, columns = ['sales representative ID#',
        'January Sales Quantity',
        'Fabruary Sales Quantity',
        'March Sales Quantity',
        'April Sales Quantity',
        'May Sales Quantity' ,
        'June Sales Quantity',
        'July Sales Quantity',
        'August Sales Quantity',
        'September Sales Quantity',
        'October Sales Quantity',
        'November Sales Quantity',
        'December Sales Quantity'])

您的多個銷售代表的情況更復雜,因為由於他們負責相同的產品,除了季節性、自相關等之外,他們的績效之間可能存在復雜的相關性。您的數據甚至不是純時間序列——而是屬於到所謂的“面板”數據集的 class。 我最近寫了一個salesplansuccess微包銷售計划成功 ,它處理從歷史月度銷售數據預測當前(或明年)的年銷售額。 但是,model 的一個主要假設是季度季節性(更具體地說,是每個季度從第 2 個月到第 3 個月的重復漂移),這對於批發商來說更具特征。 package 照常pip install salesplansuccess 您可以修改其源代碼以更好地滿足您的需求。 簡約的用例如下:

import pandas as pd
from salesplansuccess.api import SalesPlanSuccess
myHistoricalData = pd.read_excel('myfile.xlsx')
myAnnualPlan = 1000
sps = SalesPlanSuccess(data=myHistoricalData, plan=myAnnualPlan)
sps.fit()
sps.simulate()
sps.plot()

有關其使用的更詳細說明,您可能需要參考其 GitHub存儲庫中的 Jupyter Notebook 插圖文件

選擇預測方法並迭代計算其參數的代表。 在這里,您可以使用 python 中的簡單線性回歸 隨着時間的推移,您可以添加一些更智能的東西。

#!/usr/bin/python

data = [[1 , 55, 12, 25, 42, 66, 89, 75, 32, 43, 15, 32, 45], 
        (...)

months = []
for m in range(len(data[0])):
    months.append(m+1)

for rep in range(len(data)):
        linear_regression(months, data[rep])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM