knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>"
)

1. Introduction

This vignette illustrates the use of the iomodeltobalc package by simulating an increase in alcohol duty and using the example IO model to estimate the sectoral impacts. First, load the package and its dependencies:

library(iomodeltobalc)

Examine the example data included as part of the package:

The underlying data required for the model are, by product and (for alcohol) also by on/off-trade; price per unit, tax per unit, total consumption, and the price elasticity of demand. This information is provided, for the example data, in data_example_consumption. Also derived is the tax per unit as a proportion of the price per unit, which is required for modelling a change in alcohol/tobacco duty.

data_example_consumption

There are three sectors in this example - on-trade alcohol, off-trade alcohol, and tobacco. The on and off-trade alcohol sectors are made up of sales of five different products; beer, cider, wine, spirits, and RTDs.

The other data file needed is the IO table itself. data_example_iotable contains the flow table from the example IO table excel file and other important vectors; household demand/consumption; household output (employee compensation); final demand (household demand plus other final-use demands e.g. government consumption, exports); total output; total demand (final demand plus intermediate demands, and should also equal total output).

data_example_iotable

The first three rows and columns of the data are the flow table, showing inter-industry purchases. Sector A uses £150 of its own production, £200 of Sector B production, and £400 of Sector C production to produce its total output of £2,550. Likewise, Sector A supplies £150 of its own production to itself, £500 to Sector B, and £300 to Sector C. This intermediate demand of £950, when added to final demand of £1,100, produces a total demand of £2,550 - equal to total output.

2. Derive the Leontief Matrix

The equation underlying the IO model is:

$\Delta y = (I-A)^{-1} \Delta f$

To solve the model, we need to derive the Leontief Inverse, $L$:

$L = (I-A)^{-1}$

The function leontief does this:

L <- leontief(data = data_example_iotable)

The output of the function is a list containing two Leontief matrices; the Type 1 matrix constructs the standard L matrix using the flow table given above. The Type 2 matrix makes households endogenous to the model. This is done by adding household demand as an extra column and employee compensation as an extra row to the flow table (with the resulting empty bottom right element of the matrix set equal to zero, implicitly assuming no transactions between households).

L <- leontief(data = data_example_iotable)

### Leontief Type 1 Matrix 

L$Ltype1

### Leontief Type 2 Matrix

L$Ltype2

The Type I matrix is used to derive the direct effects of the policy (the change in output which reflects the initial change in final demand induced by the policy) and the indirect effects (the additional change in output which occurs due to impact of the directly affected sector altering its demand for inputs from other sectors, including additional feedback effects on the policy-impacted sector.)

In addition to the direct and indirect effects, the model can analyse induced effects. The combined direct and indirect effects will also affect total output through the impact on the demand for labour and household income, producing further impacts on final demand and therefore total output. The induced effects are calculated using the Type 2 matrix. Note that the multipliers become larger - this is because with households now endogenised, changes in final demand affect not just inter-industry demands but also the incomes of households, whose final demand for all sectors will be impacted. The total output effect calculated from the Type 2 matrix minus the total output effect from the Type 1 matrix (the sum of the direct and indirect effects) gives the induced effect.

3. Simulate the Change in Consumption.

To calculate the change in output $\Delta y$, having derived the matrix $L= (I-A)^{-1}$, requires the determination of the vector capturing the change(s) in final demand, $\Delta f$.

4. Generate the Change in Total Output.



djmorris1989/iomodeltobalc documentation built on June 11, 2020, 12:16 a.m.