param Contacts_PA = 40.0
param Infectiousness = 1.0/900.0
param FractionDeparting_PA = 0.04
param AdvertisingIntensity = 1.0
param AdvertisingEffectiveness = 0.0005

param InitialNotYet = 90.0e6
param InitialNow = 10.0e6
param InitialNoMore = 0.0

state NotYet = InitialNotYet label = "Groups who have not yet become concert-goers"
state Now    = InitialNow    label = "Current concert-goers"
state NoMore = InitialNoMore label = "Past concert-goers"

aux Population = NotYet + Now + NoMore
aux WOM_PA = Contacts_PA*(Now/Population)*Infectiousness*NotYet
aux Advertising_PA = NotYet*AdvertisingIntensity*AdvertisingEffectiveness
aux NewConcertGoers_PA = WOM_PA + Advertising_PA
aux DepartingConcertGoers_PA = Now*FractionDeparting_PA

NotYet' = - NewConcertGoers_PA
Now' = NewConcertGoers_PA - DepartingConcertGoers_PA
NoMore' = DepartingConcertGoers_PA

//print t, NotYet, Now, NoMore, Population
plot t, NotYet, Now, NoMore, Population

option tstart=1980, tstop=2060, outstep=1.0