Задача. Был выполнен опрос для оценки приверженности покупателей к определенной марке товара для 7 различных марок стирального порошка. Вероятность смены приверженности к одному типу порошка на другой приведена в таблице (см. ниже). Предположим, что покупатель приобретает ту же самую марку порошка (с большей вероятностью) или приобретает другую (с меньшей вероятностью). Следовательно, сумма вероятностей в каждой строке таблицы равна 1. Вероятность распределения долей рынка зависит от количества смен предпочтений, которые имели место, и исходной доли рынка каждого продукта.
Цель модели – оценить, какую долю рынка займет каждый порошок в долгосрочной перспективе, принимая, что матрица вероятностей перехода останется той же самой и что первоначально все порошки имеют равную долю рынка.
Этот процесс изменений в системе, происходящих последовательно, называется марковской цепью.
Вероятности смены предпочтений (от строк к столбцам)
Т.к. таблица вероятностей переходов не содержит нулей, то мы знаем, что все состояния находятся в единой цепи и являются апериодическими. Это обеспечивает сходимость вероятностей состояния в теоретической марковской цепи и гарантирует, что процесс моделирования не замкнется в строгом подмножестве состояний.
Необходимо:
1. Запустить модель для 500 транзактов.
2. Определить долю рынка, которую займет каждый продукт.
Решение.
RMULT 98851
Check TABLE X$Brand,1,1,8
Transitions MATRIX ,7,7 ;Таблица переходов из состояния в состояние.
Powder FUNCTION X$Brand,M7 ;Выбор марки для перехода.
1,FN$Suds/2,FN$BrandX/3,FN$Bubbles/4,FN$Clearshine
5,FN$Cleanplus/6,FN$Marvel/7,FN$Soapy
Suds FUNCTION RN1,D7 ;Переходы от Suds.
0.390,1/.510,2/.680,3/.810,4/.910,5/.950,6/1.0,7
BrandX FUNCTION RN1,D7 ;Переходы от BrandX.
0.130,1/.450,2/.550,3/.700,4/.820,5/.910,6/1.0,7
Bubbles FUNCTION RN1,D7 ;Переходы от Bubbles.
0.150,1/.290,2/.540,3/.680,4/.850,5/.930,6/1.0,7
Clearshine FUNCTION RN1,D7 ;Переходы от Clearshine.
0.110,1/.210,2/.300,3/.700,4/.780,5/.870,6/1.0,7
Cleanplus FUNCTION RN1,D7 ;Переходы от Cleanplus.
0.050,1/.170,2/.330,3/.420,4/.790,5/.930,6/1.0,7
Marvel FUNCTION RN1,D7 ;Переходы от Marvel.
0.160,1/.290,2/.370,3/.420,4/.580,5/.860,6/1.0,7
Soapy FUNCTION RN1,D7 ;Переходы от Soapy.
0.080,1/.180,2/.270,3/.370,4/.440,5/.570,6/1.0,7
Record FUNCTION X$Brand,L7 ;Запись номеров.
1,Suds/2,BrandX/3,Bubbles/4,Clearshine/5,Cleanplus/6,Marvel/7,Soapy
INITIAL X$Brand,1
GENERATE 1,,,,2 ;Один транзакт каждую минуту.
TABULATE Check
SAVEVALUE Oldbrand,X$Brand ;Сохраняем старую марку.
SAVEVALUE Brand,FN$Powder ;Находим новую марку.
SAVEVALUE FN$Record+,1 ;Величина для выбранной марки увеличивается на 1.
MSAVEVALUE Transitions+,X$Oldbrand,X$Brand,1 ;Обновление таблицы.
TERMINATE 1
START 100
Результаты моделирования.