Нам нужно создать две динамические переменные, которые будут соответствовать двум составляющим потока приобретения продукта:
- Приобретениям, совершенным под влиянием рекламы.
- Приобретениям, совершенным под влиянием общения потребителей продукта с потенциальными потребителями.
Создайте динамическую переменную AdoptionFromAd
- Перетащите элемент Динамическая переменная из палитры Системная динамика на диаграмму типа агентов.
- В панели Свойства введите новое Имя переменной: AdoptionFromAd.
Теперь мы хотим задать формулу для этой динамической переменной. Влияние рекламы моделируется следующим образом: некий постоянный процент потенциальных клиентов AdEffectiveness всё время становятся клиентами. Их доля в AdoptionRate равна, соответственно, PotentialAdopters * AdEffectiveness.
Добавьте связи от двух переменных к зависимой от них AdoptionFromAd
- Добавьте связи, ведущие от AdEffectiveness и PotentialAdopters к AdoptionFromAd.
-
Вы можете изменить внешний вид связи (а именно - радиус ее выпуклости), перетащив мышью маркер, находящийся посередине связи (чтобы он стал виден, связь вначале надо выделить щелчком мыши). Пусть связь выглядит, как на приведенном ниже рисунке:
Вы могли заметить, что эта связь выглядит немного иначе, чем та, что ведет от TotalPopulation к PotentialAdopters. Связи с переменными, упоминающимися в начальных значениях накопителей, рисуются пунктирными линиями, в то время, как все остальные - сплошными.
- Добавьте еще одну связь, ведущую от AdEffectiveness к AdoptionFromAd.
- Задайте формулу, согласно которой будет вычисляться значение переменной. В свойствах переменной AdoptionFromAd, в поле AdoptionFromAd = введите: AdEffectiveness * PotentialAdopters (вы можете воспользоваться Мастером подстановки кода).
Для тех, кто не знаком с классической моделью Диффузии по Бассу, давайте попробуем самостоятельно составить формулу интенсивности продаж продукта под влиянием устного общения потребителей продукта с теми, кто данный продукт еще не приобрел.
Мы делаем предположение, что в нашей модели человек может общаться с любым другим человеком.
Количество контактов человека в единицу времени (а под единицей времени в нашей модели подразумевается год) задается параметром ContactRate. Запишем ContactRate в качестве первого сомножителя нашей формулы.
Количество людей, которые владеют продуктом, и могут убеждать остальных приобрести его, в нашей модели в каждый момент времени будет определяться значением накопителя Adopters, и поскольку каждый потребитель будет общаться в единицу времени с ContactRate людей, то количество контактов в единицу времени у всех потребителей продукта будет равно Adopters * ContactRate.
Теперь нужно учесть тот факт, что в результате общения не все те, кто еще не купил этот продукт, сразу побегут его покупать - если кого-то доводы своего знакомого, успешно пользующегося изучаемым нами продуктом, могут убедить, то кто-то может остаться к ним равнодушным, и своего решения не покупать продукт не изменить. Поэтому мы добавим в нашу формулу еще один сомножитель AdoptionFraction, задающий силу убеждения владельцев продукта, определяющую ту долю контактов, которая приводит к продажам продукта. Таким образом, наша формула приобретает вид Adopters * ContactRate * AdoptionFraction.
И наконец, нам нужно учесть, что на данный момент наша формула не учитывает того, что владельцы продукта будут общаться как с потенциальными потребителями, так и с теми, кто уже владеет продуктом. И общение с последними ни к каким новым продажам продукта не приведет. Поэтому нам нужно учесть в нашей формуле и вероятность того, что тот, с кем общался потребитель, ещё не владеет интересующим нас продуктом. Эта вероятность задается так: PotentialAdopters / TotalPopulation.
В итоге наша формула будет выглядеть следующим образом:
Adopters * ContactRate * AdoptionFraction * PotentialAdopters / TotalPopulation
Именно столько потенциальных потребителей будут приобретать продукт в единицу модельного времени под воздействием общения с владельцами этого продукта.
Создайте динамическую переменную AdoptionFromWOM
- Аналогично создайте еще одну динамическую переменную.
- Назовите ее AdoptionFromWOM.
-
Задайте для этой переменной следующую формулу:
ContactRate * AdoptionFraction * PotentialAdopters * Adopters / TotalPopulation - Вам может показаться утомительным рисовать связи для задействованных в формулах переменных и параметров. Чтобы облегчить этот процесс, AnyLogic предлагает пользователям механизм быстрого исправления ошибок, связанных с отсутствующими или избыточными связями. Когда вы зададите указанную формулу, то щелкнув в этом поле вы увидите индикатор ошибки:
- Щелкните мышью по индикатору. Вы увидите контекстное меню, состоящее из пунктов Добавить отсутствующую связь для: .... Поочередно щелкнув по всем этим пунктам вы добавите на диаграмму все недостающие связи.
В итоге у вас должна будет получиться диаграмма следующего вида:
Теперь мы можем задать формулу для потока приобретения продукта. Значение потока определяется суммой двух его независимых составляющих – продаж в результате рекламного влияния и продаж под влиянием общения с потребителями продукта.
Задайте формулу потока
- Выделите поток AdoptionRate щелчком мыши.
- Перейдите в панель Свойства.
- Введите правую часть формулы, по которой будет вычисляться значение потока, в поле AdoptionRate=: AdoptionFromAd AdoptionFromWOM
- Добавьте соответствующие связи от этих переменных к потоку AdoptionRate.
Теперь мы закончили создание нашей модели. Диаграмма накопителей и потоков должна выглядеть как на приведенном ниже рисунке:
Связи имеют полярность, положительную или отрицательную:
- Положительная связь означает, что два элемента системной динамики изменяют свои значения в одном направлении, т.e. если значение элемента, из которого направлена связь, уменьшается, значение другого элемента уменьшается тоже. Аналогично, если увеличивается значение одного элемента, то и значение зависимого от него элемента увеличивается тоже.
- Отрицательная связь означает, что два элемента системной динамики изменяют свои значения в противоположных направлениях, т.e. если значение элемента, из которого направлена связь, уменьшается, то значение другого элемента увеличивается, и наоборот.
Вы можете добавить рядом со связями метки, которые будут обозначать полярность этих связей. Обычно полярность обозначается с помощью символов /- рядом со стрелкой связи. Таким образом вы можете показать, как зависимая переменная изменяет свое значение при изменении значения независимой переменной.
Проставьте полярности у связей
- Чтобы отобразить у связи значок полярности, выделите связь и выберите нужный символ (+ или -) из группы кнопок Полярность в панели свойств связи.
- Здесь же при желании можно изменить и цвет линии связи, а также ее толщину.
Можно увидеть, что наша модель содержит два цикла с обратной связью: один компенсирующий и один усиливающий.
- Компенсирующий цикл с обратной связью воздействует на поток приобретения продукта, вызванный рекламой. Поток приобретения продукта сокращает число потенциальных потребителей, что в свою очередь приводит к снижению интенсивности приобретения продукта.
- Усиливающий цикл с обратной связью воздействует на поток приобретения продукта, вызванный общением с потребителями продукта. Поток приобретения продукта увеличивает численность потребителей продукта, что приводит к росту интенсивности приобретения продукта под влиянием общения с потребителями продукта, и следовательно к росту интенсивности приобретения продукта.
Добавьте идентификатор цикла, вызывающего насыщение рынка
- Перетащите элемент Цикл из палитры Системная динамика на графическую диаграмму, как показано на рисунке ниже:
- Перейдите в панель Свойства, чтобы изменить свойства цикла.
- Задайте Направление цикла - этот цикл направлен Против часовой стрелки.
- В поле Текст введите краткое описание этого цикла, объясняющее его смысл: Market Saturation (или Насыщение рынка). Этот текст будет показан на презентации.
- Из группы кнопок Тип выберите символ, который будет отображаться для данного цикла. Выберите символ B (обозначающий Balancing, то есть компенсирующий цикл).
Чтобы определить, является ли цикл усиливающим или уравновешивающим, вы можете начать с предположения, что, например значение переменной А увеличивается, и проследить за изменением значений входящих в цикл переменных.
Цикл является:
- усиливающим, если после прохождения по циклу вы видите тот же результат, что был допущен при начальном предположении (в нашем случае - увеличение значения).
- уравновешивающим или компенсирующим, если результат противоречит начальному предположению.
Добавьте идентификатор для цикла, задающего общение людей друг с другом
- Добавьте еще один идентификатор цикла, как показано на рисунке ниже:
- Этот цикл соответствует общению людей друг с другом. Он является усиливающим, поэтому выберите для него символ R (обозначающий усиливающий, Reinforcing цикл)
- Задайте Word of Mouth (или Устное общение) в качестве текста.
- Задайте Направление цикла - этот цикл направлен По часовой стрелке.
В итоге ваша диаграмма должна выглядеть следующим образом:
-
Как мы можем улучшить эту статью?
-