Step 12. Modeling a Promotion Strategy
At this point, advertising effectiveness in our model is assumed to be constant each period. Actually, it depends on the current advertising expenditures. We want to improve our model to be able to manage the promotion expenditures. Changing the
monthly promotion expenditures we will affect the advertising effectiveness.
Modeling advertising expenditures
Add a constant for the monthly expenditures
- Add one more parameter and name it
MonthlyExpenditures.
- Specify the parameter’s
Default value:
1100.
Replace
AdEffectiveness
parameter with a dynamic variable
- Delete
AdEffectiveness
parameter (by selecting it in the graphical editor and pressing Del).
- Create
AdEffectiveness
dynamic variable with formula:
MonthlyExpenditures/10000.0. We assume this is how the advertising effectiveness depends on the current promotion expenditures.
- Draw a dependency link from
MonthlyExpenditures
to
AdEffectiveness.
We want to collect statistics on the total expenditures of our company. We will implement this by defining a parameter, keeping data about how much money was appropriated for the product promotion. Every month we will update
TotalExpenditures
value, adding the value of expenditures for the upcoming month. We will implement this by creating an event that occurs monthly.
Add a variable to store the total expenditures
- Drag the
Variable
element from the
Agent
palette to the graphical diagram.
- Name the variable
TotalExpenditures.
Create an event to update
TotalExpenditures
- Drag the
Event
element from the
Agent
palette to the graphical diagram.
- Set
monthlyEvent
as the
Name
of the event.
- Set up event to occur monthly. Choose
Cyclic
from the
Mode
drop-down list.
- Since we want the event to occur each month, leave 1 as the value of the
Recurrence time
field, and choose
months
from the drop-down list to the right.
- Specify the
Action
of the event:
TotalExpenditures = MonthlyExpenditures;
This code will be executed each time the event’s timeout is elapsed. It collects statistics on the total expenditures, namely it adds the value of advertising expenditures planned on the upcoming month to the
TotalExpenditures.
Modeling a promotion plan
Since advertising plays significant role only at the start of the diffusion process, we want to stop advertising at some moment of time, say, after 3 years. Thus we will save money aimlessly spent on advertising, since only adoption from word of
mouth determines the market saturation by that time.
Add a parameter for the switch time
- Add one more parameter and name it
SwitchTime.
- Specify the parameter’s
Default value: 3.
Now we will define model behavior visually with a statechart. Statechart is used to show the state space of a given algorithm, the events that cause a transition from one state to another, and the actions that result from state change.
Create a statechart to model promotion strategy
- Start defining a statechart with adding a statechart entry point. Therefore drag the
Statechart Entry Point
element from the
Statechart
palette into the graphical editor of
Main
agent type.
- Add a state to the statechart. Drag the
State
element from the
Statechart
palette onto the graphical diagram so that it gets connected to the statechart entry point added earlier. Change the name of just added state to
with_advertising.
- Add one more state below the created one. Name it
without_advertising.
- We need to stop the promotion, when statechart comes to this state. Therefore, in the
Entry action
property, type
MonthlyExpenditures=0.0;
- Add a transition going from
with_advertising
state to
without_advertising
state. Double-click the
Transition
element in the
Statechart
palette. Then draw the transition going from
with_advertising
to
without_advertising
state by clicking the starting point of the transition (the border of
with_advertising
state) and then click the ending point of the transition (the border of
without_advertising
state).
- Set up this transition to be taken after
SwitchTime
timeout. Therefore, leave
Timeout
in the
Triggered by
drop-down list of this transition and type
SwitchTime
in the
Timeout
property (you can use
code completion master
here).
Now when the statechart is in the initial
with_advertising
state, company’s advertising expenditures are defined by the
MonthlyExpenditures
value. Once the statechart exits this state at the
SwitchTime
moment, company stops advertising.
Run the model and see that now the promotion company lasts 3 years only.
Step 11. Modeling the demand cycle
Step 13. Optimizing the product launch strategy