基于学习曲线的一个销售预测模型

1. 问题的描述 假设你想向客户推荐一个产品, 你对该产品也是第一次接触. 在不断的推销过程中, 你也在不断学习推销该产品的技巧. 很明显, 对产品越熟悉, 那么你推销的成功率(用户购买等)越高. 那么问题是如何用数学来刻画这件事呢?
2. 学习曲线的刻画 我们知道, 学习是一个记忆–遗忘–记忆的循环过程, 关于该过程的分析留待下次具体讨论. 一般而言, 该过程关于时间的曲线是所谓的S-型曲线. 我们这里假设$\lambda(t)$表示$t$时刻掌握的技能的百分比(完全掌握时$\lambda=1$). 而最简单的S-曲线就是所谓的Logistics曲线, 它含有一个参数$k$, 表示样本(销售量)对学习(推新产品的技巧)速度的影响因子\footnote{事实上, $\lambda(t)$所满足的常微分方程为
$$
\lambda'(t)=k\lambda(t)(1-\lambda(t)),\quad \lambda(0)=\frac{1}{2}.
$$
求解后得到
$$
\lambda(t)=\frac{1}{1+\exp(-k t)}.
$$}, 这样我们$\lambda(t)$的表达式为:
$$
\lambda(t)=\frac{1}{1+\exp(-k t)}.
$$
为了直观起见, 我用Mathematica作图如下:

logistics

附上作图代码:

3. 销售量的数学刻画 我们将首先给出销售量与销售技能的基本关系, 它是用一个常微分方程来刻画的.

我们假设$x(t)$为$t$时刻的销售量, 并给出我们的基本假设:

a. 销售速率$x'(t)$与销售技能$\lambda(t)$成正比, 与学习样本$x(t)$也成正比

此外, 我们还给出另外两个假设:

b. 开始时, 销售技能$\lambda(0)$为零. (其实, 在后面的模型求解是我们假设$\lambda_0=\lambda(0)=\lambda(-3 d)$他非常接近于0, 这里$d$是掌握80%的技能所需的时间)

c. 掌握80%的技能所需的时间为$d=60$天

4. 模型的求解 4.1. 参数$k$的求解 根据假设c, 我们求解$k$如下:
$$
d=60,\quad \lambda(d)=\frac{1}{1+\exp(-k d)}=0.8\implies k=0.0231049
$$
其次, 我们根据初值的假定b, $\lambda_0=\lambda(-3d)=0.0153846$.

上述求解过程的Mathematica代码为:

这样, 我们得到
$$
\lambda(t)=\frac{1}{1+\exp(-0.0231049 t)}.
$$
4.2. 求解销售量$x(t)$ 首先, 更加假设a, 我们得到$x(t)$所满足的方程为:
$$
x'(t)=x(t)(\lambda(t)-\lambda_0).
$$
上述方程是一阶ODE, 需要给定一个初值, 这里我假设$x(1)=34$. 则求解上述常微分方程得到
$$
x(t)=1.954\times 10^{-12} e^{-0.0153846 t} \left(1+e^{0.0231049 t}\right)^{43.2809}
$$
求解的Mathematica代码:

这里, 我还验证了原始数据$x(1)=34$, $x(2)=55$. 并预测了前五天的销售量:
$${34, 55, 91, 151, 253}$$
图形化显示为xiaoshouyuce

发表评论