model.s_curve

Sigmoid Curve adoption implementation.

def make_scurve_config(base_year, tamdata, configdict, last_year=2050, use_tam_2014=False):

Create a configuration for a standard S-Curve or Bass Diffusion S-Curve. Configdict should contain required parameters 'ref_base_adoption', 'pds_adoption_final_percentage', and for Bass Diffusion S-Curves may also contain 'pds_adoption_s_curve_innovation' and 'pds_adoption_s_curve_imitation'. These are all AC fields, and can be obtained via ac.asdict(). Parameter use_tam_2014 is a quirks parameter to match a bug in the Excel that uses the TAM from the year 2014 instead of base_year as it ought to.

SCurve(sconfig, transition_period=16)

S-Curve (sigmoid adoption forecast) implementation.

Arguments

transition_period (int): number of years of transition period, must be an even number. sconfig: Pandas dataframe with columns: 'base_year', 'last_year', 'base_percent', 'last_percent', 'base_adoption', 'last_pds_tam', (needed for Bass Diffusion model): 'M', 'P', 'Q' and rows for each region: 'World', 'OECD90', 'Eastern Europe', 'Asia (Sans Japan)', etc

def logistic_adoption(self):

Calculate Logistic S-Curve for a solution.

def bass_diffusion_adoption(self):

Calculate Bass Diffusion S-Curve for a solution.