Table formats / IOT · SUT

A SUT separates activities, which produce, from commodities, which are produced and used. Their labels and counts can differ. The supply and use blocks therefore need not be square.

Structure and native matrices#

Select a block to see its definition and default axes.

SUT native flows · rows × columns
Commodities Activities Final demand
Commodities — UUse YcFinal demand
Activities SSupply — YaFinal demand
Factors VcFactors VaFactors VYFactors
Satellite accounts EcSatellite accounts EaSatellite accounts EYSatellite accounts

UNative flows

Use transaction flows matrix

Rows
Region, Commodity
Columns
Region, Activity

YcNative flows

Final demand of commodities matrix

Rows
Region, Commodity
Columns
Region, Consumption category

SNative flows

Make transaction flows matrix

Rows
Region, Activity
Columns
Region, Commodity

YaNative flows

Final demand of activities matrix

Rows
Region, Activity
Columns
Region, Consumption category

VcNative flows

Value added transaction flows by commodity matrix

Rows
Factor of production*
Columns
Region, Commodity

VaNative flows

Value added transaction flows by activity matrix

Rows
Factor of production*
Columns
Region, Activity

VYNative flows

Value added transaction matrix for final demand

Rows
Factor of production*
Columns
Region, Consumption category

EcNative flows

Environmental transaction flows by commodity matrix

Rows
Satellite account*
Columns
Region, Commodity

EaNative flows

Environmental transaction flows by activity matrix

Rows
Satellite account*
Columns
Region, Activity

EYNative flows

Environmental transaction flows matrix for final demand

Rows
Satellite account*
Columns
Region, Consumption category

U reads commodity inputs → using activities. In MARIO, S reads producing activities → supplied commodities; this orientation matters when importing a source that publishes supply in the opposite orientation. The empty diagonal cells are not additional native flow blocks.

Suffixes identify the side. a means activity and c means commodity: Ea and Ec attach satellite accounts to those respective axes. Yc and Ya are final-demand blocks; VY and EY attach accounts directly to final demand. Some blocks may be zero or unavailable in a source.

Inspect a small SUT#

import mario

db = mario.load_test("SUT", tech_assumption="IT")
use = db.U
supply = db.S
activities = db.get_index("Activity")
commodities = db.get_index("Commodity")

Result · use has commodity rows and activity columns; supply has activity rows and commodity columns. Both retain the region labels.

Indices#

A productive axis combines Region with Activity or Commodity. MARIO’s pandas representation also stores the set label in its Level index level. Satellite and factor accounts can carry extra levels through matrix_layouts (marked * in the block descriptions).

Index Description
Region Regions represented in the table
Commodity Commodities produced by activities
Activity Activities producing commodities
Consumption category Categories of final demand (e.g. Households, Gross fixed capital, Changes in inventories…)
Factor of production Factors of production including value added categories including, for single-region tables, imports
Satellite account Environmental extensions

Regional classifications can vary independently for activities and commodities. See regional classifications and the index reference for query conventions and aliases.

Coefficients and production#

Xa is activity output; Xc is commodity output/demand. Use coefficients normalize each column of U by the output of the using activity:

\[u = U\,\operatorname{diag}(X_a)^{-1}\]

Likewise, ea and va normalize activity accounts by Xa; ec and vc normalize commodity accounts by Xc. In hybrid tables, coefficients can express one physical unit per another: check the source units.

Technology assumptions#

The assumption controls the supply coefficients s, which connect commodity demand to activity production. MARIO uses these two conventions:

Industry-based

IT · industry-based

Uses the observed market share of each activity in a commodity’s output.

\[s = S\,\operatorname{diag}(X_c)^{-1}\]

This is the default. It supports different activity and commodity counts.

Product-based

PT · product-based

Builds the activity product mix, then inverts it:

\[c = S^{\mathsf T}\operatorname{diag}(X_a)^{-1},\qquad s = c^{-1}\]

Requires equal activity and commodity counts. On a non-square SUT, MARIO warns and falls back to IT.

The current PT builder uses a pseudoinverse if the product-mix matrix is singular. See db.s for the numerical behaviour. An invertible product mix and a singular one need different interpretation even when both return a result.

Switching assumption
db.change_assumption("PT")
assumption = db.tech_assumption
coefficients = db.s

This changes the whole database. MARIO first resets every scenario to flows, so coefficients can be rebuilt under the new assumption. The long names "industry-based" and "product-based" are also accepted. See db.change_assumption().

Matrix names and default axes
Matrix Description Row indices Column indices
Xa Total demand (or production) of activities vector Region, Activity -
Xc Total demand (or production) of commodities vector Region, Commodity -
u Use transaction coefficients matrix Region, Commodity Region, Activity
s Make transaction coefficients matrix - Market share or inverted product-mix matrix** Region, Activity Region, Commodity
c Product-mix matrix Region, Commodity Region, Activity
va Value added transaction coefficients by activity matrix Factor of production* Region, Activity
vc Value added transaction coefficients by commodity matrix Factor of production* Region, Commodity
ea Environmental transaction coefficients by activity matrix Satellite account* Region, Activity
ec Environmental transaction coefficients by commodity matrix Satellite account* Region, Commodity
waa Leontief inverse matrix, activity-by-activity coefficients Region, Activity Region, Activity
wcc Leontief inverse matrix, commodity-by-commodity coefficients Region, Commodity Region, Commodity
wac Leontief inverse matrix, activity-by-commodity coefficients Region, Activity Region, Commodity
wca Leontief inverse matrix, commodity-by-activity coefficients Region, Commodity Region, Activity
fa Total (direct+indirect) environmental coefficients by activity matrix Satellite account* Region, Activity
fc Total (direct+indirect) environmental coefficients by commodity matrix Satellite account* Region, Commodity
Fa Total (direct+indirect) environmental transaction flows by actvity matrix Satellite account* Region, Activity
Fc Total (direct+indirect) environmental transaction flows by commodity matrix Satellite account* Region, Commodity
ma Total (direct+indirect) value added coefficients by activity matrix Factor of production* Region, Activity
mc Total (direct+indirect) value added coefficients by commodity matrix Factor of production* Region, Commodity
pa Price index vector by activity Region, Activity -
pc Price index vector by commodity Region, Commodity -

In a two-letter suffix, the first letter identifies the row side and the second identifies the column side: wca has commodity rows and activity columns. fa and fc are footprint intensities on the respective axes; Fa and Fc are absolute allocations. The matrix reference gives their equations and dependencies.

Calculations and conversions#

MARIO can compute directly on the SUT’s native blocks:

activity_output = db.Xa
commodity_intensity = db.fc

Unified views such as Z, Y, V and E combine the split blocks for inspection and compatible exports. They do not convert the SUT into an IOT.

Continue with calculating matrices, SUT-to-IOT conversion or importing a database.