Dataset contract
Three logical tables
amc_path_report
This nine-column table represents aggregated ordered advertising paths and their outcomes. It is the primary input for path-based Multi-Touch Attribution models.
Fields: report_start_date, report_end_date, marketplace, advertiser_id, path, users, converted_users, purchase_count, and revenue.
amazon_ads_daily_touchpoint_performance
This sixteen-column table represents daily advertising delivery and platform-reported outcomes. It can support diagnostics, spend constraints, feature construction, or reporting, but its purchases must not be added to path-report purchases.
Fields: reportDate, marketplace, accountId, adProduct, adType, creativeType, inventoryType, placement, normalizedTouchpoint, currencyCode, impressions, clicks, cost, purchases, sales, and unitsSold.
simulation_ground_truth
This table records the simulator's known contribution mechanism. It is an evaluation target for comparing attribution methods. Feeding it into training would leak the answer and make the evaluation invalid.
Fields: report_start_date, report_end_date, marketplace, path, normalized_touchpoint, causal_increment, credit_share, and expected_conversion_probability.
Required invariants
- Column names and order come from
simulations/baseline/mta_dataset/schemas.py. - Each normalized touchpoint contains five colon-separated segments in the order
AD_PRODUCT:FORMAT:PLACEMENT:CREATIVE:INTERACTION_TYPE. - Each path is ordered, uses
>as a separator, and contains only normalized keys present in the performance table. - Structural missing values remain null in source dimensions.
UNSPECIFIEDis used only inside a normalized key. IMPRESSIONandCLICKare distinct events. When both occur for one advertising opportunity, the impression precedes the click in the path.- An interaction-specific performance row carries only that event's metrics: impression rows carry impressions and cost only for Cost Per Mille billing; click rows carry clicks, platform purchases, units, sales, and cost only for Cost Per Click billing. Summing both rows therefore does not duplicate delivery, cost, or outcomes.
- Counts and monetary values are non-negative.
- Converted users never exceed users.
- Ground-truth credit shares sum to one where a path has a positive simulated incremental effect.
Export names
The command line accepts the short aliases path, performance, and ground-truth. Writers always receive the stable names shown above. Omitting table selection exports all tables.
The stable comma-separated value filenames, table names, column names, and column order have not changed. Five-segment support changes values in path, normalizedTouchpoint, and normalized_touchpoint, not the schemas.
Non-CSV research sidecar
CSV mode also writes effective_configuration.json and simulation_research.json. They carry configuration lineage and domain records that cannot fit the established three CSV schemas, including Provider missingness, Product/Campaign relationships, budget versus spend, and evaluation-only organic/incremental outcomes. They do not add or reinterpret CSV columns. PostgreSQL mode persists those records directly instead of creating the large research sidecar.
Lossy compatibility serialization
The five-segment key is an export representation, not the simulator's full Touchpoint identity. It omits Provider and reduces unavailable placement or creative values to UNSPECIFIED. That placeholder means only that the file format cannot carry the richer missingness state; it does not claim that a Provider supplied the literal word UNSPECIFIED.