gcubed.exogenous_adjustments.effective_labour_productivity

This module contains the EffectiveLabourProductivity class, used to set up and provided access to baseline productivity shocks.

Productivity shocks in simulations should be set up in a SimulationLayer.

class EffectiveLabourProductivity(gcubed.base.Base):

Sets up effective labour productivity projections as well as potential output growth projections.

Effective labor is A L where A is productivity and L is labor.

EffectiveLabourProductivity(parameters: gcubed.model_parameters.parameters.Parameters)

Constructor

Constructor that sets up the effective labour productivity projections and potential output growth projections.

The projections are based upon the input CSV files containing data on productivity growth patterns and population growth.

Arguments

parameters: The calibrated model parameters.

The parameters input gives access to the model configuration so that the locations of the relevant CSV files can be determined.

parameters

The calibrated model parameters.

calibration_database

The database used to calibrate the model parameters.

The information about the model structure available from the SYM model definition.

The model configuration.

The productivity projections for each region and each projection year.

The population projections for each region and each projection year.

potential_output_growth_rates: pandas.core.frame.DataFrame

A dataframe containing the real growth in potential output (ROGY) for each region (rows) and each projection year (columns).

If these have not been set up, they are returned as zero values.

us_longrun_effective_labour_log_index: pandas.core.frame.DataFrame

Overview

Set up the US long run effective labour growth rate from the model parameters and project that rate forward to the end of the projection years to create an index that has a simple growth rate that is equal to the value of the labgrow parameter for the US (defined in the user-set parameters).

Returns

A dataframe containing the log of the US longrun effective labour (AL) index for each sector (rows) and each projection year (columns).

The log index has the base year equal to the first projection year.

The index base year is the first projection year. With an index value of 1 in that year the log index is equal to zero. Thereafter, if the labgrow rate is say 0.014 (1.4%) then the log index will increase by 0.014 each year.

region_effective_labour_productivity_deviations: dict[str, pandas.core.frame.DataFrame]

The dictionary of dataframes used to store effective labour productivity log index deviations from the US longrun labour productivity log indices. It is indexed by region code. The dataframes are row-indexed by sector code. The columns of the dataframes are the projection years.

def effective_labour_productivity_deviations(self, region: str) -> pandas.core.frame.DataFrame:

Overview

This provides access to effective productivity growth adjustments through the projection years for each sector (in the set of model-specific sectors) in each region of the model.

These adjustments are made to effectively productivity growth rates when setting up the baseline exogenous variable projections.

Arguments

region: The region for which the effective productivity deviations are required.

Returns

A dataframe indexed by sector for SHL adjustments each year through the projection years, e.g. SHL(PP,a02) where PP is the region code and a02 is the sector code. The column labels are the projection years.

The data is sourced from a dictionary of dataframes, with each dataframe indexed by sector. The dictionary is keyed by region.

The data is multiplied by 100 to be comparable to the database, so a value of 1 is a 1 percent deviation.