На данный момент эффективность рекламы в нашей модели полагается постоянной. На самом деле, она зависит от текущих расходов компании на рекламу. Мы хотим улучшить нашу модель, чтобы иметь возможность управлять расходами на рекламную кампанию. Изменяя месячные расходы на рекламу, мы сможем повлиять на текущую эффективность рекламы.
Создайте константу, задающую месячные расходы компании
Замените параметр
AdEffectiveness
вспомогательной переменной
Мы хотим вести статистику всех расходов компании. Это может быть сделано созданием специальной переменной для хранения информации о том, сколько денег было потрачено на рекламу продукта. Каждый месяц мы будем обновлять это значение с помощью специального события, добавляя значение запланированных на предстоящий месяц расходов на рекламную кампанию продукта.
Добавьте переменную для хранения общих расходов компании
из палитры Основная
на диаграмму класса Main.
Создайте событие, которое будет обновлять значение TotalExpenditures
из палитры Основная
на диаграмму класса Main. 
Поскольку реклама играет значительную роль только в начальной стадии процесса завоевания рынка, мы хотим в какой-то момент времени, скажем, через 3 года остановить рекламную кампанию. Этим мы сэкономим деньгги, бесцельно тратящиеся на рекламу тогда, когда насыщение рынка будет определяться практически исключительно покупками продукта, вызванными общением потребителей с потенциальными потребителями.
Добавьте константу, задающую время переключения
Теперь мы визуально зададим поведение системы с помощью диаграммы состояний.
Создайте диаграмму состояний для моделирования рекламной стратегии
(перетащите этот элемент на диаграмму из палитры Диаграмма состояний). 
из палитры Диаграмма состояний так, чтобы состояние присоединилось к добавленному ранее элементу (см. рисунок ниже). Измените имя состояния на with_advertising.


в палитре Диаграмма состояний.
Затем нарисуйте переход, ведущий из состояния with_advertising
в состояние without_advertising, щелкнув по границе верхнего состояния, а затем по границе нижнего состояния. 

Теперь, когда диаграмма состояний находится в начальном состоянии with_advertising, рекламные расходы кампании определяются переменной MonthlyExpenditures. Как только диаграмма состояний покидает это состояние в момент времени SwitchTime, компания перестает рекламировать продукт.
Запустите модель и убедитесь, что рекламная кампания длится теперь только три года.
Контрольная модель: Bass Diffusion - Phase 5