数学建模社区-数学中国

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

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

6 Y3 b, y) y" w# K4 v$ }% r
6 l* J9 g+ p+ n, ^$ V" H5 G
3 `- A5 E5 |9 _" T
7 s9 F. @; O0 w5 y& y' \ (1)问题分析
9 k- |0 b! {4 {- P% i3 I" c
- ~& ?3 |* T( o/ L! w1 X3 y新产品进入市场后,初期的市场份额将会不断发生变化,因此,本例中的问题是一 个离散动态随机过程,也就是马氏链(Markov chain)。很显然,上面给出的表实 际上是转移概率矩阵(注意每行元素的和肯定为1)。要分析新产品 A未来的市场份额, 就是要计算稳定状态下每种产品的概率。 7 q, N9 P3 x- C6 T4 }" Z* b& m) n
  U3 X8 X2 D% M9 C- j
(2)模型的建立 5 q! X6 v' d; W. z2 o
' {9 |7 q- @0 M  S+ w: e
记 N 为产品种数。产品编号为i( N i =1, 2,...1 L= ),转移概率矩阵的元素记为,稳定状态下产品i的市场份额记为 .  因为是稳定状态,所以应该有    8 U! e0 [0 x! a+ y8 \
" H7 @* q6 p/ e0 s
                                                              (1)
* d' H# G* E, m6 a' v2 c
: p* `6 O2 J" i, V3 K: ?" f- F不过,这N 个方程实际上并不独立,至少有一个是冗余的。好在我们还有另一个 约束,即 N 种产品的市场份额之和等于1 3 n$ M! Z* _% g$ E' F

9 I# V: h3 {) o
5 Z' S( D+ c3 m% |* O                 (2)
. ?7 V( m# Z* l
" J5 m0 o5 l. A1 L8 E, D可见,这个问题的模型实际上是一个非常简单的方程组(当然,还应该增加概率  非负的约束)。如果把这些看成约束条件,那就是一个特殊的优化模型(没有目标函数)。1 G5 ]$ A3 }& ~: V6 [
) b9 Z4 ]% C, |& E( g  s0 ^( _
(3)模型的求解2 X# A- ^% i) }9 V- ?" M' Y
! z1 Q* r& @$ p/ {" L
LINGO程序如下:0 l; B  e: X* N$ {2 ]

. V# g7 C, |) \' X# O- }% PMODEL:
7 g' |" {, o# Y. jTITLE 新产品的市场预测; 7 g5 E9 i$ R/ l3 `' U  n- ?$ S
SETS:   
1 M. w2 O# T$ b    PROD/ A B C D/: P;      |) ~, B) e: i4 \
    LINK(PROD, PROD): T; % D/ r9 |- a7 E3 F9 g& M! U
ENDSETS
' h* G& {! f4 n8 p3 {6 {: RDATA: ! 转移概率矩阵;   
! n( a. [1 B- F4 F  P    T = .75  .1  .05  .1       / Q/ t: ^/ `0 {6 |7 Q4 R1 S% i% Y* e
        .4   .2  .1   .3        : s; {1 j% q4 M3 z2 R" r/ R) y0 `! T
        .1   .2  .4   .3        
3 [4 C2 m  ]" \# Q$ |) [        .2   .2  .3   .3;
( e9 k7 `: C" |ENDDATA
" {; l3 ^* X. V" e( K/ M* l@FOR(PROD(I): P(I)=@SUM(LINK(J,I): P(J)* T(J,I)) );
5 C8 W) |) E) v3 X0 t4 o@SUM(PROD: P) = 1; 2 K7 }# R! d* f8 ~
@FOR(PROD(I): @WARN( '输入矩阵的每行之和必须是1', @ABS( 1 - @SUM(LINK(I,J): T(I,J)))#GT# .000001));
$ s! m/ K4 Q) ~- Y1 x3 PEND ( C+ }4 t! ^& ]; o4 z7 p
可以指出的是,上面LINGO模型中后的语句@WARN只是为了验证输入矩阵的每行 之和必须是1,而且我们看到为了比较两个实数(如X和1)是否相等,一般不能直接用 “X#NE#1”,因为受计算机字长(精度)的限制,实数在计算机内存存储是有误差的。所 以,通常的方法是比较这两个实数之差的绝对值是否足够小。 求解结果为 A ,B ,C, D的市场份额分别是47.5%,15.25%,16.75%,20.5%。
  ?4 B- F3 E( {' t* }: E; g& Y4 Y: u+ O3 m& q6 ?6 [

8 n. U2 f* F. T3 s1 Z* c0 D
8 V7 g0 o' \: H习题:假设某公司在银行有一个现金帐户和一个长期投资帐户,现金帐户利息很低, 而长期投资帐户利息较高。所有业务往来(收入和支出)只能通过现金帐户进行,如果 现金帐户中钱很多,就可能需要将一部分钱转入长期投资帐户;反之,需要将一部分钱从长期投资帐户转入现金帐户。为简单起见,假设以万元为单位,现金帐户的钱数只能 是-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。
( O6 r7 p* }% C# A
2 [" ]8 X, `0 h9 b/ B6 N8 d5 o- A0 B  [& q/ m- a  B& o* j
, j6 e! L$ U% |  o  W. a" Q
每月初你可以改变当前状态(即从长期投资帐户转入现金帐户,或从现金帐户转入 长期投资帐户),但假设每次状态的改变银行收取0.3万元的固定费用,此外还要收取 转帐金额5%的转帐手续费。请你建立优化模型,确定如果当月现金帐户的状态位于i, 是否应该改变当前状态,如何改变状态? . q5 T0 a( m+ X" v5 L
————————————————
/ N( |) D$ T1 `1 p版权声明:本文为CSDN博主「wamg潇潇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。: \( \3 ^0 C. p; m" f6 V& p3 `
原文链接:https://blog.csdn.net/qq_29831163/java/article/details/89412812
0 A& ~. D$ H! ^0 G' g  B0 r9 s; g7 ?% a3 I% h* c
5 R3 X$ N9 A/ Z' ]; D% b





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