Skip to content

MRIO extension

  • Wolfgang Britz and Salwa Haddad, 14.12.2016 –


There is growing interest both with regard global value chains and life-cycle assessment along such chains which both require information on the bi-lateral sourcing of intermediate demand by industries and final demand agents. We discuss in here a module for CGEBox that is able to depict import demand differentiated by aggregate Armington agents, i.e. for aggregate intermediate use, household, government and investments. The module is set-up such that it can be used for specific sectors only, while the remaining ones use the standard Armington model.

Definition of consistent split factors

In order to define a consistent benchmark for the model, the total import demands of the MRIO agents need to be exhausted by their bi-lateral demands for imports while at the same time the given export flows must be exhausted. We apply a Highest Posterior Density (HPD) estimator to derive consistent shares based on the following equations.

We allow during re-balancing that the total import demand and the domestic demand change for the agents change for each product, while their sum is maintained. However, the user can also fix total import (and thus implicitly total domestic demand) during the consistency step.

If domestic demands by individual agents change, we need to ensure that the total domestic output sold is still exhausted by the agents’ summed up demand, ensured by the following equation:

Secondly, each agent’s summed up demand for domestic and import use, both a market and agent prices, need to be maintained:

A further equation ensures that estimated total import demand at market prices v_mm, i.e. at cif values plus import taxes, by each MRIO agent is exhausted by a share of the bi-lateral imports at world market price (after trade margins) SAM0(r,rp,i) plus bi-lateral import tariffs (IMPTXY0(rp,r,i):

Finally, these shares need add up to unity such total imports and import taxes are exhausted:

Note that a small slack, bounded by ± 1.E-7 is added to the RHS to account for any numerical accuracies in the in-going global SAM.

As we solve for the shares for total intermediate demand only, we need to ensure that the total import demand over all sectors is equal to that sum:

The HPD estimator minimizes squared relative differences from the given split factors and from total import demand by agent:

The problem can be solved for each country and product independently. Accordingly, we solve in a loop to reduce overall computing time by yielding smaller NLP problem. Furthermore, we use the grid solve mechanism to solve all sectors for one region in parallel:

After collection of the solutions from the grid, we check if infeasibilities occur. In that case, the bounds on the slacks are somewhat relaxed and the balancing problem is resolved, however now not via the grid solve facility:

The process requires about a minute for 57x68 global SAM on a performant desktop.

Derivation of the split factors

We first map the split factors from the OECD METRO model which are based on the GTAP9 data base to the sector and regions of the dis-aggregate GTAP8 data base if that is used. That implies that we use for a couple of cases uniform split factors for service sectors. Furthermore, some countries are missing, here ROW shares are applied. The mapping of these shares to the actual sector and regional aggregation used by the model uses import at world market prices (cif) plus import taxes as weights, .i.e. bi-lateral imports at domestic market prices. These weights are stored in a GDX container along with the split factors. The aggregation of the split factors works as follows:

i.e. we first assign the weights and next calculated the weighted average.

Model equations

The model equations in the MRIO extension of CGEBox are equivalent to the second level Armington equations in the standard model, but are now differentiated by the MRIO agents (total intermediate demand int, households hhsld, government gov and investment demand inv).

Bi-lateral import demand by each MRIO agent is expressed via the usual share equations:

The equation substitutes out the cif price with a macro to reduce model size and allows for the GLOBE solution of small import shares being linked in Leontief fashion to total import demand by the agent.

The total import demand which is distributed by the share equation above is aggregated over the individual agents linked to the MRIO agent, which is only relevant for intermediate input demand:

The average import price of each MRIO agent is defined via the dual price aggregator:

The dual price aggregator considers three cases (1) standard case with a non-unity substitution elasticity, (2) CD-case with a substitution elasticity of unity and (3) the additional contribution of the small shares handled in Leontief fashion.

The link into the overall framework requires defining the aggregated bi-lateral import demands:

Graphical User Interface

Data base generation

In order to generate the split factors when the data base is set-up, the following checkbox must be activated:

Furthermore, the user might activate the second check box to fix the import demands during the generation of the MRIO split factors.


When running the model, the MRIO module must be switched on:

In which case a tab allows selecting the products where the split is introduced: