AnyLogic
Развернуть
Размер шрифта

Шаг 10. Моделирование повторных покупок

Созданная модель не учитывает того, что со временем продукт может быть израсходован или прийти в негодность, что вызовет необходимость его повторного приобретения. Мы смоделируем повторные покупки, полагая, что потребители продукта снова становятся потенциальными потребителями, когда продукт, который они приобрели, становится непригоден.

Вначале мы определим константу, задающую среднее время жизни продукта.

Создайте константу ProductLifeTime

  1. Пусть средняя продолжительность использования нашего продукта равна двум годам. Задайте Значение по умолчанию равное 2.

Потребители продукта снова становятся потенциальными потребителями тогда, когда продукт, который они приобрели, расходуется и перестает использоваться. Поэтому поток прекращения использования продукта является ничем иным, как потоком приобретения, задержанным на среднее время пригодности продукта.

Создайте поток прекращения использования продукта, ведущий из Adopters в PotentialAdopters

  1. Если нарисовать новый поток прямой стрелкой, ведущей от Adopters к PotentialAdopters, то этот поток будет нарисован поверх стрелки существующего потока AdoptionRate. Поэтому давайте нарисуем поток более сложной формы (см. рисунок ниже). Для этого используем другой, более подходящий для данного случая, способ рисования потоков.
  2. Сделайте двойной щелчок по элементу Поток в палитре Системная динамика. Значок элемента при этом должен смениться на следующий: .
  3. Сразу после этого щелкните мышью по накопителю Adopters, потом щелкните в промежуточных точках изгиба стрелки потока, и завершите рисование потока, сделав двойной щелчок по накопителю PotentialAdopters, в который этот поток втекает.

  4. Назовите поток DiscardRate. Формулы накопителей после этого должны будут выглядеть следующим образом:

  5. Задайте следующую формулу для потока DiscardRate:
    delay(AdoptionRate, ProductLifeTime)

    Функция delay() реализует временную задержку; она имеет следующую нотацию:
    delay(<задерживаемый поток>, <значение задержки>, <начальное значение>)

    В нашем случае функция представляет собой AdoptionRate с временной задержкой ProductLifeTime. Пока не истекло время использования первого приобретенного продукта, поток равен нулю.

Как и во всех других аналогичных случаях, написание такой формулы потребует добавления ссылок от переменных AdoptionRate и ProductLifeTime к потоку DiscardRate.

Проверить работу функции задержки проще всего с помощью диаграммы. Для этого мы добавим на график, отображающий динамику изменения интенсивности продаж, и другую интенсивность — интенсивность отказа от продукта, определяемую нашим потоком DiscardRate.

Добавьте на нижний график новый элемент данных, отображающий динамику изменения интенсивности DiscardRate

  1. Добавьте на нижний график еще один элемент данных, аналогично тому, как мы это делали на предыдущем шаге учебного пособия. Задайте свойства этого элемента, как показано на рисунке:

Теперь мы закончили моделирование повторных покупок продукта. Вы можете проверить, как работает функция задержки. Запустите модель и исследуйте графики переменных AdoptionRate и DiscardRate. Вы сможете увидеть, что график потока прекращения использования продукта имеет именно тот вид, который мы и предполагали увидеть — он является ничем иным, как потоком приобретения продукта, задержанным на 2 года — время пригодности продукта.

С помощью диаграммы проследите динамику изменения численностей потребителей.

Теперь численность потенциальных потребителей не уменьшается до нуля, а постоянно пополняется по мере того, как потребители заново покупают продукты взамен непригодных. Интенсивность приобретения продукта растет, падает, и в итоге принимает какое-то значение, зависящее от средней жизни продукта и параметров, определяющих интенсивность этого потока. Наличие в модели прекращения использования продукта означает, что какая-то доля населения всегда будет оставаться потенциальными потребителями.

Демо-модель: Bass Diffusion - Phase 3 Открыть страницу модели в AnyLogic Cloud. Там можно запустить модель или скачать ее по ссылке Исходные файлы модели.
Как мы можем улучшить эту статью?