数学建模社区-数学中国

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

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

( P5 N+ h& F" o9 a4 Z; _! B
# N2 C( J& t0 s$ C1 F5 B. y3 y3 H! I! ~. m3 @, ^
(1)问题分析
' e3 V: p2 M* J9 P' J3 s8 U! T4 ^, I# e! a- H) `4 R. j
新产品进入市场后,初期的市场份额将会不断发生变化,因此,本例中的问题是一 个离散动态随机过程,也就是马氏链(Markov chain)。很显然,上面给出的表实 际上是转移概率矩阵(注意每行元素的和肯定为1)。要分析新产品 A未来的市场份额, 就是要计算稳定状态下每种产品的概率。 ' t3 W) u- m2 ^9 j5 Q- P
' t& A* [( f8 j" ]1 a" T/ n
(2)模型的建立 , \$ U3 H; h9 K: ^

0 c, D' Y2 L0 l1 y- I记 N 为产品种数。产品编号为i( N i =1, 2,...1 L= ),转移概率矩阵的元素记为,稳定状态下产品i的市场份额记为 .  因为是稳定状态,所以应该有    : z; O( K8 n0 \2 d" U% k  @, ~

9 d. U8 V$ b# y3 H' Q                                                              (1)
  U5 a$ T3 p' |9 N5 w# Q  O" q& }; L6 k4 E/ g+ I( E( k
不过,这N 个方程实际上并不独立,至少有一个是冗余的。好在我们还有另一个 约束,即 N 种产品的市场份额之和等于1 7 m) U7 R  \! W* u- a" _
% ]& d" a5 e$ u7 r+ L' l" P
6 l/ x4 L$ u2 |! I% @! m  d
                 (2)
6 u1 Z% x5 c9 v0 |$ R# w7 a  }. k& R8 i+ F9 ~7 ]6 {
可见,这个问题的模型实际上是一个非常简单的方程组(当然,还应该增加概率  非负的约束)。如果把这些看成约束条件,那就是一个特殊的优化模型(没有目标函数)。4 Q7 h+ J; \0 z

# [/ w2 I4 L9 H& U+ s# E (3)模型的求解! v: u0 P, f% o# d( |* Y7 `

1 z1 P+ F4 n2 D: ALINGO程序如下:
* B4 R5 E& ~/ ]6 I$ b+ d) D3 q2 Z
MODEL:
" k0 o1 D7 \1 E5 Y3 ITITLE 新产品的市场预测;
  k( V; N* L6 Y0 ?  [7 Z+ QSETS:   
: c& I; U% |) |& l0 Q    PROD/ A B C D/: P;      j0 b! V; |3 A" K8 Q& }( S! m
    LINK(PROD, PROD): T;
% c5 R1 p9 [3 s9 {# h2 X6 {ENDSETS * m' t. d( {/ J( r+ v& b5 V9 s( W6 \9 M
DATA: ! 转移概率矩阵;   ; h$ {; b, F% w8 c' k4 V
    T = .75  .1  .05  .1      
, f3 L2 o* a# h, a( [8 ]2 x3 Y        .4   .2  .1   .3        % ]3 s& ^  F. B3 d* i7 ?
        .1   .2  .4   .3        
7 m) \: E$ N8 @# P4 u        .2   .2  .3   .3; 5 N' l( D9 p  K1 N
ENDDATA
$ p: j1 c8 B$ U+ l' `* R@FOR(PROD(I): P(I)=@SUM(LINK(J,I): P(J)* T(J,I)) );
6 Y  G: @8 ]" o' f4 L/ q@SUM(PROD: P) = 1;
( U/ D$ R! ^0 ^, J/ m' T@FOR(PROD(I): @WARN( '输入矩阵的每行之和必须是1', @ABS( 1 - @SUM(LINK(I,J): T(I,J)))#GT# .000001)); " a$ K' O# a/ z# C/ o9 d6 v
END # n- {$ i' [4 ?( x9 _$ K
可以指出的是,上面LINGO模型中后的语句@WARN只是为了验证输入矩阵的每行 之和必须是1,而且我们看到为了比较两个实数(如X和1)是否相等,一般不能直接用 “X#NE#1”,因为受计算机字长(精度)的限制,实数在计算机内存存储是有误差的。所 以,通常的方法是比较这两个实数之差的绝对值是否足够小。 求解结果为 A ,B ,C, D的市场份额分别是47.5%,15.25%,16.75%,20.5%。 4 h  v$ G/ {% k- v

/ N* B$ n/ j1 J% m& n$ f
% h  r% d, e( |
/ k# R4 e5 s5 l6 ~* R习题:假设某公司在银行有一个现金帐户和一个长期投资帐户,现金帐户利息很低, 而长期投资帐户利息较高。所有业务往来(收入和支出)只能通过现金帐户进行,如果 现金帐户中钱很多,就可能需要将一部分钱转入长期投资帐户;反之,需要将一部分钱从长期投资帐户转入现金帐户。为简单起见,假设以万元为单位,现金帐户的钱数只能 是-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。
  {! |: ]# i' K8 F9 d, N' G2 M7 Q% N9 n: U' Z% F

! R( k# m+ n! O/ k1 K) v2 o% J3 p
/ H2 t! }8 e% K2 T' Z 每月初你可以改变当前状态(即从长期投资帐户转入现金帐户,或从现金帐户转入 长期投资帐户),但假设每次状态的改变银行收取0.3万元的固定费用,此外还要收取 转帐金额5%的转帐手续费。请你建立优化模型,确定如果当月现金帐户的状态位于i, 是否应该改变当前状态,如何改变状态? / [9 _: k0 [% [# @6 k
————————————————
. Q( H! z$ M' z. t7 m% L: f1 S版权声明:本文为CSDN博主「wamg潇潇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
+ q$ k+ W) Y+ D! M+ ^4 r原文链接:https://blog.csdn.net/qq_29831163/java/article/details/89412812
& L) W% V1 X% l* [
7 U  F* b3 {, d7 M  M; x* i# _9 c+ ?0 b; f0 v





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