Perform robust stress testing and generate realistic balance‑sheet forecasts by integrating macroeconomic factors and financial‑indicator time‑series paths with Mirai's External Modeling Information (EMI) feature.
External Modeling Information (EMI) adds formula level control for behavioral models by letting the user reference external tables and contract level inputs directly in the by-formula model editor. The user can create user-defined attributes and use them in their formula-based models together with external data, such as macro factors or internal attributes, so models reflect the drivers they want. This will allow the incorporation of different essential variables for more comprehensive modeling and analysis.
This development optimizes the platform's modeling capability, expanding the possibilities to evaluate various scenarios and manage risks more efficiently. By integrating these external factors, Mirai offers a more robust tool to strengthen financial planning and strategic decision-making. This improves realism and consistency across scenarios and helps teams evaluate risk and planning outcomes more efficiently.
Learn how to effectively leverage EMI functionality step by step:
The implementation of EMI requires new parameterization, which will be carried out in two stages:
Input interface and formulas
Tables and formulas in Mirai
Decide which user-defined contract level fields you want to expose to formulas and add them as EMI parameters in the input interface. Values are loaded at contract level, so even contracts mapped to the same product type can behave differently in models. These inputs are part of Mirai’s variable interface, meaning you don’t have to populate all of them to get started.
The EMI table is a governed reference dataset that your formulas can look up at run time. Once defined, data is loaded by as-of date, so you can version the drivers used in modelling. In practice, you can shape EMI tables around the drivers your models need. For example:
Macroeconomic tables: time series of GDP, unemployment, CPI, or policy rates keyed by date to drive prepayment or delinquency sensitivities.
ESG data tables: counterparty level ESG scores or flags (e.g., sector, emissions band) used as independent variables to modulate behavioral parameters.
Counterparty attribute tables: risk grades, PDs, LGDs, customer tenure buckets, or channel markers that refine elasticity, delinquency, or prepayment assumptions.
Because tables are dated and versioned, they provide a clean contract between data owners and modelers: inputs are consistent and auditable, lookups are deterministic, and changes are handled by provisioning a new table version rather than editing structure in place.
Linking an EMI table to the formula model builder effectively turns it into a lookup function your model can call at run time. You declare which columns behave as independent variables (keys drawn from contract attributes, dates, or market observables) and which are dependent variables (the values you want the model to return). In formulas, you reference dependent values, while the lookup logic for those values is defined in the model against one or more keys.
This mapping lives alongside the rest of the formula, and it works across Mirai’s behavior models—Prepayments, Default, NonMaturing Deposits, Elasticity, Disbursements, etc.— What this means in practice is that you’re free to model the behavior you care about using externally curated drivers and user defined contract attributes.
EMI not only lets you blend segmentation and macro drivers inside a single formula, it also unlocks one of the most powerful ALM use cases: macro‑driven stress testing. Because EMI tables can be versioned by scenario (Base, Adverse, Severe), modelers can load full macro time‑series datasets for each regulatory or internal scenario and let Mirai simulate balance‑sheet metrics under each one.
In the following macro prepayment model example, the EMI table provides monthly GDP growth, unemployment, and inflation. The model assigns sensitivities (“betas”) that translate those conditions and rate incentives into a monthly prepayment rate. When running a FED, PRA, EBA, or internal macro-scenario, the same formula automatically reacts to the stressed macro paths—no code changes, no alternative models, just different EMI table versions linked to the scenario.
With EMI, stress testing becomes a first class modeling workflow:
• Load macro time series for base and stressed scenarios
Supply GDP, CPI, unemployment, house prices, or any regulatory macro variable as dated EMI table versions.
• Use regulatory scenarios directly
EMI tables can host macro paths from PRA stress tests, EBA or FED scenario sets, CCAR variables, or internal ICAAP narratives. These can then be applied by Mirai’s ALM engine to simulate the entire balance sheet under those prescribed conditions.
• Stress (override or shock) macro drivers
Because EMI tables are governed datasets, you can generate alternative versions with shocked macro inputs—e.g., +200 bps inflation, −3% GDP, or a unemployment shift—and instantly re run the models without editing formulas.
• Attribution analysis of macro factors
EMI enables precise decomposition of model behavior. Since each macro factor (GDP, CPI, unemployment, spreads, etc.) enters the formula explicitly, Mirai can attribute changes in model outputs—prepayments, defaults, NMD betas, delinquency—to each individual driver.
This supports attribution analysis and helps explain the contribution of each macro variable to movements in NII or EVE across scenarios.
With EMI, you design the behavior you need: segment contracts using your own fields and read governed drivers from reference tables, so formulas reflect macro conditions and internal realities. It works across Mirai’s behavior models (Prepayments, Delinquency, non Maturing Deposits, and Elasticity) and is backed by governance: parameters carry declared types for Data Quality or formula checks, and table schemas are fixed for lineage.
The result is faster iteration, more realistic scenarios, and auditable assumptions you can update without redeploying code.