Technology assumptions#
When dealing with SUTs, it is possible to adopt:
Industry-basedtechnology assumption, which implies commodities are produced by industrial activities with a fixed market shareProduct-basedtechnology assumption, which implies industrial activities produced a fixed mix of products
When parsing a SUT, you can specify the assumption. For instance:
db = mario.parse_from_excel(
path = 'path/to/sut.xlsx',
table = 'SUT',
tech_assumption='product-based' # or "industry-based"
)
At the API level, the short aliases IT and PT are also accepted.
tech_assumption is stored as a property of the database.
db.tech_assumption
Mathematics#
The technology assumption does not affect every matrix,
but mainly the make transaction coefficients matrix s. Independently of the assumption,
this matrix will always be called s, but calculated differently.
In MARIO notation, the two cases are:
under
industry-basedtechnology assumption:\[s = S \cdot \operatorname{diag}(X_c)^{-1}\]where
Xcis the total demand of commodities vector. In this case,sis the market-share matrix.under
product-basedtechnology assumption:\[c = S^T \cdot \operatorname{diag}(X_a)^{-1}\]\[s = c^{-1}\]where
Xais the total production of activities vector. In this case, MARIO first builds the product-mix matrixcand then derivessas its inverse.
Switching assumption#
The technology assumption can be changed after parsing. When this happens, MARIO resets all tables in all scenarios to flow mode first and then rebuilds the affected coefficient-side structure under the new assumption, avoiding mixing coefficients computed under different structural rules.
db.change_tech_assumption('PT') # or 'IT'
Caveats#
Product-based technology assumption requires a squared SUT
(i.e. same number of commodities and activities).
If a user requests PT on a non-square SUT, MARIO does not fail the
import, but will warn the user it’s falling back to IT instead.