{
  "siteVersion": "20260406",
  "terms": [
    {
      "name": "Exposure level",
      "definition": "Task-country label for whether current technology can perform a meaningful share of the task."
    },
    {
      "name": "Technology channel",
      "definition": "The main route of automation, such as rule-based workflow, physical execution, planning/control, information transformation, or inference/scoring."
    },
    {
      "name": "Labour margin",
      "definition": "Whether exposed work leans toward substitution, augmentation, both, or neither."
    },
    {
      "name": "AI materiality",
      "definition": "Whether AI is materially involved in the task-country automation path."
    },
    {
      "name": "AI function",
      "definition": "The primary AI role when AI is materially involved."
    },
    {
      "name": "Parquet shard",
      "definition": "One part of a large table stored in Parquet, a compact columnar format used by Python, R, and data systems."
    }
  ],
  "bundles": [
    {
      "file": "/data/countries.csv",
      "description": "Full country summary with exposure, channel, margin, technology-route, AI-related, and country covariate fields."
    },
    {
      "file": "/data/countries.json",
      "description": "Website-facing country summary used by the Atlas globe and country views."
    },
    {
      "file": "/data/task-country-core-manifest.json",
      "description": "Manifest for 2,957,459 task-country core rows split across Parquet shards."
    },
    {
      "file": "/data/country-occupation-panel.csv.gz",
      "description": "Country-occupation panel as compressed CSV, with 114,452 rows."
    },
    {
      "file": "/data/country-industry-panel.csv.gz",
      "description": "Country-industry panel from the retained task-to-ISIC graph as compressed CSV, with 51,832 rows."
    },
    {
      "file": "/data/country-skill-panel/country-skill-panel-01.csv.gz",
      "description": "First half of the country-skill table as compressed CSV."
    },
    {
      "file": "/data/country-skill-panel/country-skill-panel-02.csv.gz",
      "description": "Second half of the country-skill table as compressed CSV."
    },
    {
      "file": "/data/tasks-search-index.json",
      "description": "Small website search index for task lookup and task-skill previews."
    },
    {
      "file": "/data/skills-search-index.json",
      "description": "Small website search index for skill lookup and task-skill previews."
    },
    {
      "file": "/data/task-skill-graph/manifest.json",
      "description": "Manifest plus bucketed neighborhood files for the interactive task-skill graph explorer."
    },
    {
      "file": "/downloads/task-skill-network.zip",
      "description": "CSV download bundle for the task-skill network nodes and edges."
    }
  ],
  "title": "Global Automation Atlas data dictionary",
  "description": "Field-level dictionary for the public research files. The task-country exposure labels are the canonical observation-level file; country, occupation, industry, and skill files are aggregations used by the paper and Atlas.",
  "fields": [
    {
      "field": "iso3",
      "description": "ISO 3166-1 alpha-3 country code.",
      "files": [
        "/data/countries.csv",
        "/data/country-occupation-panel.csv.gz",
        "/data/country-industry-panel.csv.gz",
        "/data/country-skill-panel/*.csv.gz",
        "/data/task-country-core/*.parquet"
      ],
      "type": "string"
    },
    {
      "field": "country_name",
      "description": "Country name used in the Atlas release.",
      "files": [
        "/data/countries.csv",
        "/data/country-occupation-panel.csv.gz",
        "/data/country-industry-panel.csv.gz",
        "/data/country-skill-panel/*.csv.gz",
        "/data/task-country-core/*.parquet"
      ],
      "type": "string"
    },
    {
      "field": "region",
      "description": "World Bank-style regional grouping used for display and descriptive summaries.",
      "files": [
        "/data/countries.csv",
        "/data/task-country-core/*.parquet"
      ],
      "type": "string"
    },
    {
      "field": "income_level",
      "description": "World Bank income group used in paper figures and Atlas filters.",
      "files": [
        "/data/countries.csv",
        "/data/task-country-core/*.parquet"
      ],
      "type": "string",
      "enum_values": [
        "Low income",
        "Lower middle income",
        "Upper middle income",
        "High income"
      ]
    },
    {
      "field": "gdp",
      "description": "Country GDP used for coverage and weighting checks.",
      "files": [
        "/data/countries.csv"
      ],
      "type": "number",
      "unit": "current US dollars"
    },
    {
      "field": "population",
      "description": "Country population used for coverage and weighting checks.",
      "files": [
        "/data/countries.csv"
      ],
      "type": "number",
      "unit": "people"
    },
    {
      "field": "gdp_per_capita",
      "description": "GDP divided by population.",
      "files": [
        "/data/countries.csv"
      ],
      "type": "number",
      "unit": "current US dollars per person"
    },
    {
      "field": "log_gdp_per_capita",
      "description": "Natural log of GDP per capita.",
      "files": [
        "/data/countries.csv"
      ],
      "type": "number"
    },
    {
      "field": "log_population",
      "description": "Natural log of population.",
      "files": [
        "/data/countries.csv"
      ],
      "type": "number"
    },
    {
      "field": "manufacturing_value_added_pct_gdp",
      "description": "Manufacturing value added as a share of GDP.",
      "files": [
        "/data/countries.csv"
      ],
      "type": "number",
      "unit": "percent"
    },
    {
      "field": "trade_pct_gdp",
      "description": "Trade as a share of GDP.",
      "files": [
        "/data/countries.csv"
      ],
      "type": "number",
      "unit": "percent"
    },
    {
      "field": "internet_users_pct",
      "description": "Individuals using the internet.",
      "files": [
        "/data/countries.csv"
      ],
      "type": "number",
      "unit": "percent of population"
    },
    {
      "field": "fixed_broadband_per_100",
      "description": "Fixed broadband subscriptions per 100 people.",
      "files": [
        "/data/countries.csv"
      ],
      "type": "number",
      "unit": "subscriptions per 100 people"
    },
    {
      "field": "task_count",
      "description": "Number of O*NET task records contributing to the aggregate.",
      "files": [
        "/data/countries.csv",
        "/data/country-occupation-panel.csv.gz"
      ],
      "type": "integer",
      "unit": "tasks"
    },
    {
      "field": "item_id",
      "description": "Internal stable row identifier for the retained task-country file.",
      "files": [
        "/data/task-country-core/*.parquet"
      ],
      "type": "string"
    },
    {
      "field": "task_id",
      "description": "O*NET task identifier used to join tasks across files.",
      "files": [
        "/data/task-country-core/*.parquet"
      ],
      "type": "string"
    },
    {
      "field": "canonical_onet_task_code",
      "description": "Canonical O*NET task code after harmonising task variants.",
      "files": [
        "/data/task-country-core/*.parquet"
      ],
      "type": "string"
    },
    {
      "field": "onet_task_code",
      "description": "Original O*NET task code retained for traceability.",
      "files": [
        "/data/task-country-core/*.parquet"
      ],
      "type": "string"
    },
    {
      "field": "semantic_title",
      "description": "Short task title used in the Atlas interface and previews.",
      "files": [
        "/data/task-country-core/*.parquet"
      ],
      "type": "string"
    },
    {
      "field": "valid_runs",
      "description": "Number of valid classifier runs retained for the task-country pair.",
      "files": [
        "/data/task-country-core/*.parquet"
      ],
      "type": "integer",
      "range": "0 or higher"
    },
    {
      "field": "modal_status",
      "description": "Status of the retained modal label after parsing and aggregation.",
      "files": [
        "/data/task-country-core/*.parquet"
      ],
      "type": "string"
    },
    {
      "field": "exposure_level_mode",
      "description": "Modal exposure level for the task-country pair.",
      "files": [
        "/data/task-country-core/*.parquet"
      ],
      "type": "integer",
      "enum_values": [
        "0",
        "1",
        "2",
        "3"
      ],
      "source_or_construction": "0 is no meaningful exposure; 2 and 3 are counted as exposed in the main paper measure."
    },
    {
      "field": "economic_exposed_mode",
      "description": "Binary retained exposure indicator derived from the exposure level.",
      "files": [
        "/data/task-country-core/*.parquet"
      ],
      "type": "boolean/integer",
      "enum_values": [
        "0",
        "1"
      ]
    },
    {
      "field": "extensive_economic_exposure_mode",
      "description": "Indicator for high or extensive exposure under the retained classifier output.",
      "files": [
        "/data/task-country-core/*.parquet"
      ],
      "type": "boolean/integer",
      "enum_values": [
        "0",
        "1"
      ]
    },
    {
      "field": "dominant_channel_mode",
      "description": "Main automation channel for the retained task-country label.",
      "files": [
        "/data/task-country-core/*.parquet"
      ],
      "type": "string",
      "enum_values": [
        "rule_based_workflow",
        "physical_execution",
        "planning_control",
        "information_transformation",
        "inference_scoring",
        "none"
      ]
    },
    {
      "field": "has_substitution_path_share",
      "description": "Share of valid classifier runs indicating a substitution path.",
      "files": [
        "/data/task-country-core/*.parquet"
      ],
      "type": "number",
      "unit": "share",
      "range": "0 to 1"
    },
    {
      "field": "has_augmentation_path_share",
      "description": "Share of valid classifier runs indicating an augmentation path.",
      "files": [
        "/data/task-country-core/*.parquet"
      ],
      "type": "number",
      "unit": "share",
      "range": "0 to 1"
    },
    {
      "field": "sub_only_share",
      "description": "Share of tasks or runs that are substitution-only.",
      "files": [
        "/data/countries.csv",
        "/data/country-occupation-panel.csv.gz",
        "/data/country-industry-panel.csv.gz",
        "/data/country-skill-panel/*.csv.gz",
        "/data/task-country-core/*.parquet"
      ],
      "type": "number",
      "unit": "share",
      "range": "0 to 1"
    },
    {
      "field": "both_share",
      "description": "Share of tasks or runs with both substitution and augmentation.",
      "files": [
        "/data/countries.csv",
        "/data/country-occupation-panel.csv.gz",
        "/data/country-industry-panel.csv.gz",
        "/data/country-skill-panel/*.csv.gz",
        "/data/task-country-core/*.parquet"
      ],
      "type": "number",
      "unit": "share",
      "range": "0 to 1"
    },
    {
      "field": "aug_only_share",
      "description": "Share of tasks or runs that are augmentation-only.",
      "files": [
        "/data/countries.csv",
        "/data/country-occupation-panel.csv.gz",
        "/data/country-industry-panel.csv.gz",
        "/data/country-skill-panel/*.csv.gz",
        "/data/task-country-core/*.parquet"
      ],
      "type": "number",
      "unit": "share",
      "range": "0 to 1"
    },
    {
      "field": "neither_share",
      "description": "Share of tasks or runs with no retained substitution or augmentation signal.",
      "files": [
        "/data/countries.csv",
        "/data/country-occupation-panel.csv.gz",
        "/data/country-industry-panel.csv.gz",
        "/data/task-country-core/*.parquet"
      ],
      "type": "number",
      "unit": "share",
      "range": "0 to 1"
    },
    {
      "field": "margin_substitute_share",
      "description": "Classifier-run share assigned to the substitution labour margin.",
      "files": [
        "/data/task-country-core/*.parquet"
      ],
      "type": "number",
      "unit": "share",
      "range": "0 to 1"
    },
    {
      "field": "margin_both_share",
      "description": "Classifier-run share assigned to both substitution and augmentation.",
      "files": [
        "/data/task-country-core/*.parquet"
      ],
      "type": "number",
      "unit": "share",
      "range": "0 to 1"
    },
    {
      "field": "margin_augment_share",
      "description": "Classifier-run share assigned to the augmentation labour margin.",
      "files": [
        "/data/task-country-core/*.parquet"
      ],
      "type": "number",
      "unit": "share",
      "range": "0 to 1"
    },
    {
      "field": "margin_unclear_share",
      "description": "Classifier-run share with unclear labour margin.",
      "files": [
        "/data/task-country-core/*.parquet"
      ],
      "type": "number",
      "unit": "share",
      "range": "0 to 1"
    },
    {
      "field": "margin_mode",
      "description": "Modal labour-margin label.",
      "files": [
        "/data/task-country-core/*.parquet"
      ],
      "type": "string",
      "enum_values": [
        "substitute",
        "both",
        "augment",
        "unclear"
      ]
    },
    {
      "field": "has_material_ai_integration_share",
      "description": "Share of valid classifier runs where AI is materially involved.",
      "files": [
        "/data/task-country-core/*.parquet"
      ],
      "type": "number",
      "unit": "share",
      "range": "0 to 1"
    },
    {
      "field": "has_material_ai_integration_mode",
      "description": "Modal indicator for material AI involvement.",
      "files": [
        "/data/task-country-core/*.parquet"
      ],
      "type": "boolean/integer",
      "enum_values": [
        "0",
        "1"
      ]
    },
    {
      "field": "dominant_ai_function_mode",
      "description": "Primary AI function when AI is materially involved.",
      "files": [
        "/data/task-country-core/*.parquet"
      ],
      "type": "string"
    },
    {
      "field": "dominant_dependency_mode",
      "description": "Main implementation dependency or constraint for the automation path.",
      "files": [
        "/data/task-country-core/*.parquet"
      ],
      "type": "string"
    },
    {
      "field": "substitution_share",
      "description": "Share of exposed tasks or labels with a substitution component.",
      "files": [
        "/data/countries.csv",
        "/data/country-occupation-panel.csv.gz",
        "/data/country-industry-panel.csv.gz",
        "/data/task-country-core/*.parquet"
      ],
      "type": "number",
      "unit": "share",
      "range": "0 to 1"
    },
    {
      "field": "augmentation_share",
      "description": "Share of exposed tasks or labels with an augmentation component.",
      "files": [
        "/data/countries.csv",
        "/data/country-occupation-panel.csv.gz",
        "/data/country-industry-panel.csv.gz",
        "/data/task-country-core/*.parquet"
      ],
      "type": "number",
      "unit": "share",
      "range": "0 to 1"
    },
    {
      "field": "mean_task_exposure",
      "description": "Mean task exposure score across O*NET tasks in the country.",
      "files": [
        "/data/countries.csv"
      ],
      "type": "number"
    },
    {
      "field": "share_exposed",
      "description": "Share of tasks at exposure levels 2 or 3.",
      "files": [
        "/data/countries.csv"
      ],
      "type": "number",
      "unit": "share",
      "range": "0 to 1"
    },
    {
      "field": "share_high_exposure",
      "description": "Share of tasks at the high exposure level.",
      "files": [
        "/data/countries.csv"
      ],
      "type": "number",
      "unit": "share",
      "range": "0 to 1"
    },
    {
      "field": "task_exposure_sd",
      "description": "Standard deviation of task exposure within country.",
      "files": [
        "/data/countries.csv"
      ],
      "type": "number"
    },
    {
      "field": "substitution_minus_augmentation",
      "description": "Difference between substitution and augmentation shares.",
      "files": [
        "/data/countries.csv"
      ],
      "type": "number"
    },
    {
      "field": "llm_dominant_share",
      "description": "Share of tasks where the LLM/AI route is dominant.",
      "files": [
        "/data/countries.csv"
      ],
      "type": "number",
      "unit": "share",
      "range": "0 to 1"
    },
    {
      "field": "robotics_physical_dominant_share",
      "description": "Share of tasks where physical execution is the dominant channel.",
      "files": [
        "/data/countries.csv"
      ],
      "type": "number",
      "unit": "share",
      "range": "0 to 1"
    },
    {
      "field": "software_rules_dominant_share",
      "description": "Share of tasks where rule-based workflow automation is dominant.",
      "files": [
        "/data/countries.csv"
      ],
      "type": "number",
      "unit": "share",
      "range": "0 to 1"
    },
    {
      "field": "domain_tools_dominant_share",
      "description": "Share of tasks where domain tools are the dominant route.",
      "files": [
        "/data/countries.csv"
      ],
      "type": "number",
      "unit": "share",
      "range": "0 to 1"
    },
    {
      "field": "turnkey_share",
      "description": "Share of tasks where turnkey availability is the main implementation dependency.",
      "files": [
        "/data/countries.csv"
      ],
      "type": "number",
      "unit": "share",
      "range": "0 to 1"
    },
    {
      "field": "configure_and_train_share",
      "description": "Share of tasks where configuration or training is the main implementation dependency.",
      "files": [
        "/data/countries.csv"
      ],
      "type": "number",
      "unit": "share",
      "range": "0 to 1"
    },
    {
      "field": "integration_and_data_share",
      "description": "Share of tasks where integration and data are the main implementation dependency.",
      "files": [
        "/data/countries.csv"
      ],
      "type": "number",
      "unit": "share",
      "range": "0 to 1"
    },
    {
      "field": "capex_and_governance_share",
      "description": "Share of tasks where capital expenditure or governance is the main implementation dependency.",
      "files": [
        "/data/countries.csv"
      ],
      "type": "number",
      "unit": "share",
      "range": "0 to 1"
    },
    {
      "field": "onet_soc_code",
      "description": "O*NET-SOC occupation code.",
      "files": [
        "/data/country-occupation-panel.csv.gz"
      ],
      "type": "string"
    },
    {
      "field": "occupation_title",
      "description": "O*NET occupation title.",
      "files": [
        "/data/country-occupation-panel.csv.gz"
      ],
      "type": "string"
    },
    {
      "field": "mean_exposure",
      "description": "Mean exposure across tasks within the country-occupation cell.",
      "files": [
        "/data/country-occupation-panel.csv.gz"
      ],
      "type": "number"
    },
    {
      "field": "isic2_code",
      "description": "Two-digit ISIC division code.",
      "files": [
        "/data/country-industry-panel.csv.gz"
      ],
      "type": "string"
    },
    {
      "field": "isic4_code",
      "description": "Four-digit ISIC activity code used in the retained industry-task graph.",
      "files": [
        "/data/country-industry-panel.csv.gz"
      ],
      "type": "string"
    },
    {
      "field": "isic4_code_raw",
      "description": "Raw ISIC code before formatting harmonisation.",
      "files": [
        "/data/country-industry-panel.csv.gz"
      ],
      "type": "string"
    },
    {
      "field": "activity_description",
      "description": "ISIC activity description.",
      "files": [
        "/data/country-industry-panel.csv.gz"
      ],
      "type": "string"
    },
    {
      "field": "matched_tasks",
      "description": "Number of task links retained for the industry activity.",
      "files": [
        "/data/country-industry-panel.csv.gz"
      ],
      "type": "integer"
    },
    {
      "field": "weighted_exposure",
      "description": "Industry exposure weighted by retained task-to-ISIC weights.",
      "files": [
        "/data/country-industry-panel.csv.gz"
      ],
      "type": "number"
    },
    {
      "field": "weight_sum",
      "description": "Sum of retained task-to-ISIC weights in the country-industry cell.",
      "files": [
        "/data/country-industry-panel.csv.gz"
      ],
      "type": "number"
    },
    {
      "field": "mean_task_weight",
      "description": "Average retained task-to-ISIC weight in the country-industry cell.",
      "files": [
        "/data/country-industry-panel.csv.gz"
      ],
      "type": "number"
    },
    {
      "field": "weighted_substitution_share",
      "description": "Weighted substitution share in the country-industry cell.",
      "files": [
        "/data/country-industry-panel.csv.gz"
      ],
      "type": "number",
      "unit": "share",
      "range": "0 to 1"
    },
    {
      "field": "weighted_augmentation_share",
      "description": "Weighted augmentation share in the country-industry cell.",
      "files": [
        "/data/country-industry-panel.csv.gz"
      ],
      "type": "number",
      "unit": "share",
      "range": "0 to 1"
    },
    {
      "field": "id",
      "description": "ESCO skill identifier.",
      "files": [
        "/data/country-skill-panel/*.csv.gz",
        "/data/skills-search-index.csv",
        "/data/skills-search-index.json"
      ],
      "type": "string"
    },
    {
      "field": "title",
      "description": "Task or skill title used in the Atlas interface.",
      "files": [
        "/data/tasks-search-index.csv",
        "/data/tasks-search-index.json",
        "/data/skills-search-index.csv",
        "/data/skills-search-index.json"
      ],
      "type": "string"
    },
    {
      "field": "family",
      "description": "Skill-family label used in the skill index.",
      "files": [
        "/data/skills-search-index.csv",
        "/data/skills-search-index.json"
      ],
      "type": "string"
    },
    {
      "field": "network_mean_exposure",
      "description": "Mean exposure for a skill using retained task-skill network links.",
      "files": [
        "/data/skills-search-index.csv",
        "/data/skills-search-index.json"
      ],
      "type": "number"
    },
    {
      "field": "abs_rank_gap",
      "description": "Absolute rank difference between direct and network-based skill exposure rankings.",
      "files": [
        "/data/skills-search-index.csv",
        "/data/skills-search-index.json"
      ],
      "type": "number"
    },
    {
      "field": "is_entrant",
      "description": "Indicator that a skill enters the top network-based exposure set.",
      "files": [
        "/data/skills-search-index.csv",
        "/data/skills-search-index.json"
      ],
      "type": "boolean/integer",
      "enum_values": [
        "0",
        "1"
      ]
    },
    {
      "field": "is_displaced",
      "description": "Indicator that a skill is displaced from the direct exposure ranking.",
      "files": [
        "/data/skills-search-index.csv",
        "/data/skills-search-index.json"
      ],
      "type": "boolean/integer",
      "enum_values": [
        "0",
        "1"
      ]
    },
    {
      "field": "code",
      "description": "Task code used in the task search index.",
      "files": [
        "/data/tasks-search-index.csv",
        "/data/tasks-search-index.json"
      ],
      "type": "string"
    },
    {
      "field": "slug",
      "description": "URL-safe identifier used by the website.",
      "files": [
        "/data/tasks-search-index.csv",
        "/data/tasks-search-index.json",
        "/data/skills-search-index.csv",
        "/data/skills-search-index.json"
      ],
      "type": "string"
    },
    {
      "field": "gdp_exposure",
      "description": "Task exposure under the GDP-weighted synthetic global summary used by the website index.",
      "files": [
        "/data/tasks-search-index.csv",
        "/data/tasks-search-index.json"
      ],
      "type": "number"
    },
    {
      "field": "abs_rank_change",
      "description": "Absolute task rank change between benchmark views.",
      "files": [
        "/data/tasks-search-index.csv",
        "/data/tasks-search-index.json"
      ],
      "type": "number"
    },
    {
      "field": "linked_products",
      "description": "Count of linked product-side records where available.",
      "files": [
        "/data/tasks-search-index.csv",
        "/data/tasks-search-index.json"
      ],
      "type": "integer"
    },
    {
      "field": "has_ego",
      "description": "Whether the task or skill has an ego-network view available.",
      "files": [
        "/data/tasks-search-index.csv",
        "/data/tasks-search-index.json",
        "/data/skills-search-index.csv",
        "/data/skills-search-index.json"
      ],
      "type": "boolean"
    },
    {
      "field": "task_country_shards",
      "description": "The task-country exposure labels are split into 4 Parquet files with 2,957,459 rows in total.",
      "files": [
        "/data/task-country-core-manifest.json"
      ],
      "type": "manifest",
      "source_or_construction": "The manifest lists each shard path, row count, and byte size."
    }
  ]
}
