Experiment design
A G-Cubed experiment compares projections produced with one or more simulation layers with the baseline projections. A simulation layer is a CSV file of adjustments to model variables. A design YAML file names those layers, gives their event years and fixes their application order.
Related YAML documentation: design YAML, simulation layers, layer order and event years, generated layers and shock projections.
The two parts of a simulation layer
Keep these responsibilities distinct:
- Setup YAML can specify how shocks project through time and generate the simulation-layer CSV.
- Design YAML names and orders the layer; it does not contain shock values.
The layer CSV has a name column followed by year columns. Its adjustments use the same units as the corresponding variables in the model database. A shortened example has this tabular form:
| name | 2023 | 2024 | 2025 | 2026 | 2027 |
|---|---|---|---|---|---|
INFX(USA) | 0 | 0 | 0 | 1 | 1 |
Only exogenous variables, and state variables where the experiment explicitly supports them, may be adjusted. See layer filenames and CSV data for filename and layout rules.
For example, setup can generate a permanent inflation-target adjustment:
layers:
- id: inflation_target
name: Inflation-target adjustment
data_file_name: inflation_target.csv
event_year: 2026
description: Raise the USA inflation target
shocks:
- variable_prefix: INFX
selectors:
- dimension: regions
members: [USA]
value_path:
type: permanent_constant
value: 1.0
units: percentage points
Setup then writes a design containing the generated layer:
schema_version: 1
layers:
- name: Inflation-target adjustment
data_file: inflation_target.csv
event_year: 2026
description: Raise the USA inflation target
Event years and ordering
The event year is when information in a layer becomes known. Event years must stay the same or increase down the design. Layers with the same event year are applied in the sequence shown.
schema_version: 1
layers:
- name: Tariff announcement
data_file: tariffs.csv
event_year: 2026
- name: Retaliation
data_file: retaliation.csv
event_year: 2026
- name: Later policy response
data_file: policy_response.csv
event_year: 2027
Standard and custom layers
Use setup-generated layers for the six supported shock projections. Use a maintained layer when a run script, optimisation or external fixed-point calculation owns the values.
- Permanent, temporary and explicit shock projections
- Combining shock projections
- Maintained simulation layers
Continue with running experiments.
Explain the experiment
Keep a README.md in the experiment folder to explain its purpose, economic assumptions and instructions. A separate documentation.md can provide the text inserted into generated HTML reports. These maintained files are not generated by setup and should cite the sources used for the experiment’s assumptions.
G-Cubed