Regional simulation
Version 0.1.0 meaning
Regional version 0.1.0 lives under ZheyuanWu/simulations/regional/. It is the first separated extension that introduces national internet access, target-audience density, household-consumption context, and income inequality.
It inherits the baseline version 1.0.0 configuration, schemas, in-memory row generator, validation, and storage. It owns only the extra configuration fields and their behavior transformations. Its manifest identifies the generator as mta-simulation-regional.
The low version number is intentional: the regional mappings are explicit conjectures and have not been calibrated to real Amazon campaign data.
Regional modules
configuration.py
Loads a regional file through the baseline's relative, cycle-safe inheritance loader. It creates a validated baseline projection by ignoring extra regional fields for row-schema purposes, then validates those extra fields separately.
behavior.py
Maps regional parameters into the three adjustment values accepted by the shared baseline generator: volume multiplier, conversion log-odds adjustment, and daily conversion-noise spread.
simulation.py
Constructs the regional behavior provider and calls the baseline in-memory simulator. It does not duplicate row formulas.
pipeline.py
Calls the shared validation and storage pipeline while writing regional generator identity and version into the manifest.
configs/
Contains europe.json, japan.json, and north_america.json. Each file inherits ../../baseline/configs/default.json, records source years and provenance, and contains its own low-confidence campaign assumptions.
Behavior equations
The regional volume formula is defined in Regional Parameters.
The willingness proxy changes conversion log odds:
The Gini coefficient changes noise spread, not mean demand:
The
Source excerpt: regional behavior
This calculation is copied from simulations/regional/mta_dataset/behavior.py:
context = self._contexts_by_code[marketplace.code]
regional_behavior = self._regional_behavior
volume_multiplier = marketplace.traffic_multiplier * (
context.internet_reach_rate
/ regional_behavior.reference_internet_reach_rate
) * (
context.target_audience_density
/ regional_behavior.reference_target_audience_density
)
conversion_log_odds_adjustment = (
regional_behavior.economic_willingness_log_odds_weight
* math.log(context.economic_willingness_multiplier)
)
inequality_difference = (
context.income_inequality_gini
- regional_behavior.reference_income_inequality_gini
)
noise_multiplier = max(
0.0,
1.0
+ (
regional_behavior.income_inequality_noise_weight
* inequality_difference
),
)The formulas use named intermediate variables so a reviewer can compare code, configuration, and documentation line by line.
How each region is determined
North America
The read-only Winnie plan describes premium skincare for high-income women aged 25–45 in the United States and Canada. The regional configuration uses that story only to set a 2 percent target-density assumption and low-confidence touchpoint conversion-rate overrides.
Population, exchange-rate, internet, consumption-growth, and Gini values come from the source-dated World Bank indicators recorded in the configuration. Population relative to the United States supplies baseline traffic_multiplier; it is not a claim about Amazon reach.
Europe
The read-only Winnie plan describes ingredient-focused skincare for women aged 28–45 in the United Kingdom, Germany, and France. The configuration uses a 3 percent target-density assumption and low-confidence performance-rate overrides.
The same official indicator families provide country context. One euro exchange-rate value is used for Germany and France because both output currencies are euros.
Japan
The read-only Asia plan covers Japan and Korea and describes a medical-beauty serum for women aged 22–38. The requested generated scenario includes Japan only. It assumes 2.8 percent target density and uses the plan's rate midpoints as low-confidence overrides.
Japan's 2020 Gini is older than its other indicators because national household-survey releases are not synchronized. The year is kept visible rather than pretending all measures describe the same moment.
What the Winnie files could improve
The three read-only workbooks each contain 3,000 performance rows and 17 legacy columns. Direct inspection found systematic semantic shifts and nearly identical aggregate performance across regions. They are therefore not treated as calibrated regional truth.
The maintained regional configurations use the plan narratives and rate ranges as assumptions, not the workbook rows as authoritative finalized-schema data.
Generated regional datasets
The following outputs were regenerated with regional version 0.1.0 and passed the shared validator with zero errors.
generated/europe/
Marketplaces: United Kingdom, Germany, and France. The run contains 630 performance rows, 630 path rows, and 1,260 ground-truth rows.
generated/japan/
Marketplace: Japan. The run contains 210 performance rows, 210 path rows, and 420 ground-truth rows.
generated/north_america/
Marketplaces: United States and Canada. The run contains 420 performance rows, 420 path rows, and 840 ground-truth rows.
Each manifest includes source dates, indicator links, source years, campaign assumptions, confidence labels, generator family, and generator version.
Run a regional scenario
From ZheyuanWu/, Windows PowerShell:
python -m simulations.regional.mta_dataset `
--config simulations/regional/configs/europe.json `
--output generated/europe `
--storage csvLinux:
python -m simulations.regional.mta_dataset \
--config simulations/regional/configs/europe.json \
--output generated/europe \
--storage csvInterpretation limit
Regional version 0.1.0 is useful for stress-testing whether an attribution method remains stable when market scale, local currency, audience assumptions, and daily variation change. It is not evidence that national averages cause individual Amazon purchases.
For proposed next versions, see Recommendations.