数学建模社区-数学中国

标题: 市场营销问题 (一):用马氏链进行新产品的市场预测 [打印本页]

作者: 浅夏110    时间: 2020-6-15 11:39
标题: 市场营销问题 (一):用马氏链进行新产品的市场预测
某公司开发了一种新产品,打算与目前市场上已有的三种同类产品竞争。 为了了解这种新产品在市场上的竞争力,在大规模投放市场 前,公司营销部门进行了广 泛的市场调查,得到了表8。四种产品分别记为 A 、B 、C、D ,其中 A为新产品,表 中的数据的含义是:近购买某种产品(用行表示)的顾客下次购买四种产品的机会(概 率)。例如:表中第一行数据表示当前购买产品 A的顾客,下次购买产品 A 、B 、C、D  的概率分别为75%,10%,5%,10%。请你根据这个调查结果,分析新产品 A未来 的市场份额大概是多少?9 W7 x# S& S" ^# I: s: X! s

6 \& D; d' V$ _3 @: U9 `9 M8 S* r- h3 g

( B+ \8 i( R) p, g; k8 v) n% s6 Z
& k, n8 u! Y- |9 U  ?
: P5 U) X" I# p2 I (1)问题分析2 k  ?* @7 {" C2 p
( A2 t) R" F9 z/ _
新产品进入市场后,初期的市场份额将会不断发生变化,因此,本例中的问题是一 个离散动态随机过程,也就是马氏链(Markov chain)。很显然,上面给出的表实 际上是转移概率矩阵(注意每行元素的和肯定为1)。要分析新产品 A未来的市场份额, 就是要计算稳定状态下每种产品的概率。 . Q; f2 o9 i% {

& X; R. P4 f3 T(2)模型的建立 9 P' K# O% @- }5 _
% k, w& C* G* \% j6 X
记 N 为产品种数。产品编号为i( N i =1, 2,...1 L= ),转移概率矩阵的元素记为,稳定状态下产品i的市场份额记为 .  因为是稳定状态,所以应该有    4 ], U' D. N+ J. Q# d1 J
. I" j+ m- F+ z( t
                                                              (1)' x. {" `( I+ y
! p1 O( i9 ?2 \  i% }, W7 ]+ ^
不过,这N 个方程实际上并不独立,至少有一个是冗余的。好在我们还有另一个 约束,即 N 种产品的市场份额之和等于1 & a/ D) k2 `/ c

0 e1 U0 Z( @8 u; V5 [7 `& Y7 k$ V2 |# e4 A. Y; j" t/ g1 ^: k
                 (2) ! s" q* }9 N* @+ E- `
$ F& q8 v4 O0 p- w* C) e
可见,这个问题的模型实际上是一个非常简单的方程组(当然,还应该增加概率  非负的约束)。如果把这些看成约束条件,那就是一个特殊的优化模型(没有目标函数)。$ ^) c) q' _5 S' h7 ?+ V/ I
" l" g  @- W. a6 D& z
(3)模型的求解# |" G% v; v" h2 D. v6 V1 Y% ]. I
% b9 b& {6 [: x' P$ _+ |7 V0 q
LINGO程序如下:
6 V* Z  b5 n2 S! `7 E8 G3 X2 `. K% i0 d# ^5 a8 f
MODEL:
! t: G  m5 k: o2 O8 X. bTITLE 新产品的市场预测; ! \/ ^' q* [  V+ q: O; P
SETS:   
# d! I& }  g! S$ J    PROD/ A B C D/: P;    0 O7 E  p# l$ r: M
    LINK(PROD, PROD): T; " l% V; Y* p% X1 W6 P1 S. k- a
ENDSETS $ W3 r; M8 W( U, g
DATA: ! 转移概率矩阵;   
" H! g! r$ f* t5 H$ M    T = .75  .1  .05  .1       / X  x1 }% T7 F' Y
        .4   .2  .1   .3        
+ a$ d  d3 |+ B        .1   .2  .4   .3        - W( b) c# D# S* h: x$ o. C
        .2   .2  .3   .3; . `! ~" j' X, W) z3 H
ENDDATA 1 d3 v" J8 Y' Z6 C6 Y! ?
@FOR(PROD(I): P(I)=@SUM(LINK(J,I): P(J)* T(J,I)) );   V, Z6 n; b3 p7 P; z/ P$ Z
@SUM(PROD: P) = 1; % f0 c+ B5 b! B1 u
@FOR(PROD(I): @WARN( '输入矩阵的每行之和必须是1', @ABS( 1 - @SUM(LINK(I,J): T(I,J)))#GT# .000001));
/ A( C5 `3 [+ r6 xEND
: H# f+ V/ l) p/ ]5 p可以指出的是,上面LINGO模型中后的语句@WARN只是为了验证输入矩阵的每行 之和必须是1,而且我们看到为了比较两个实数(如X和1)是否相等,一般不能直接用 “X#NE#1”,因为受计算机字长(精度)的限制,实数在计算机内存存储是有误差的。所 以,通常的方法是比较这两个实数之差的绝对值是否足够小。 求解结果为 A ,B ,C, D的市场份额分别是47.5%,15.25%,16.75%,20.5%。 $ J1 }2 d  w$ J0 Z; p6 ^- @0 B
9 n: K- C# W, L( H& G/ S! z$ P0 ~

2 C2 w. u) b# S0 \8 q, \/ ^5 C) J% J/ v/ Z
习题:假设某公司在银行有一个现金帐户和一个长期投资帐户,现金帐户利息很低, 而长期投资帐户利息较高。所有业务往来(收入和支出)只能通过现金帐户进行,如果 现金帐户中钱很多,就可能需要将一部分钱转入长期投资帐户;反之,需要将一部分钱从长期投资帐户转入现金帐户。为简单起见,假设以万元为单位,现金帐户的钱数只能 是-20,-10,0,…,40,50(万元)之一,分别记为状态1,2,…,7,8,它们 每个月分别导致的费用如表12所示。此外,根据统计,如果当月现金帐户的状态位于i ( 2 ≤i ≤7 ),下个月现金帐户的状态只可能位于 i-1,i,i+1 三者之一,并且概率分别为0.4,0.1,0.5;如果当月现金帐户的状态位于1,则下个月现金帐户的状态只可 能位于1和2,并且概率分别为0.5,0.5;如果当月现金帐户的状态位于8,则下个月 现金帐户的状态只可能位于7和8,并且概率分别为0.4,0.6。 9 O$ ]1 `% _) _& G

* m) }* T: [  {9 K  ~& r; ~( S/ ~0 _$ u

3 u+ |% _2 s4 |! i6 N 每月初你可以改变当前状态(即从长期投资帐户转入现金帐户,或从现金帐户转入 长期投资帐户),但假设每次状态的改变银行收取0.3万元的固定费用,此外还要收取 转帐金额5%的转帐手续费。请你建立优化模型,确定如果当月现金帐户的状态位于i, 是否应该改变当前状态,如何改变状态? % N0 ~! K' _3 R; {& p
————————————————
- W* T) K  P6 z. j7 C3 a版权声明:本文为CSDN博主「wamg潇潇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。" `$ n8 X3 s. E; [5 U& T: K" Y
原文链接:https://blog.csdn.net/qq_29831163/java/article/details/89412812
3 c1 T3 w  E3 O; j1 Z1 O3 y; L& j3 M  A" _, W5 b$ _

0 z' D/ o% i" C% M2 }4 e9 u- Q2 U




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5