{
  "anchors": [
    {
      "about": "2-letter state/jurisdiction code (PD-003).",
      "format": "usps_state",
      "kind": "geography",
      "name": "state",
      "scope": "universal"
    }
  ],
  "capability": "robotics.adoption",
  "codebooks": {
    "edition": {
      "codes": {
        "asm_2018_2021": {
          "label": "Annual Survey of Manufactures edition \u2014 annual 2018-2021, sample of larger plants; 2017 NAICS"
        },
        "ec_2022": {
          "label": "2022 Economic Census edition \u2014 census-scope incl. small plants; 2022 NAICS; released 2025-08"
        }
      },
      "coverage": "every served observation carries exactly one edition",
      "note": "The load-bearing scope dimension: the two editions measure DIFFERENT coverage universes and are compared, never chained into one trend (PD-066). A scope spanning both without grouping by edition carries an edition_scope note.",
      "semantics": "census_robotic_equipment_edition",
      "source": "The sheet's own `Source:` line in each edition workbook."
    },
    "suppression": {
      "codes": {
        "(s)": {
          "label": "Estimate published; standard error exceeds 40% of the value (flag, not a withholding)"
        },
        "A": {
          "label": "Not available / not applicable (file footnote)"
        },
        "D": {
          "label": "Withheld to avoid disclosing data of individual companies"
        },
        "S": {
          "label": "Withheld because estimate did not meet publication standards"
        }
      },
      "coverage": "any published cell can carry one",
      "note": "A lettered cell is a null VALUE carrying its verbatim letter (PD-048 three-state \u2014 never a zero); an (s)-flagged estimate is published but its standard error exceeds 40% of the value (served with the flag, never silently).",
      "semantics": "census_disclosure_flags",
      "source": "Each workbook's own footnote rows (the file's codebook), carried per cell as *_code / *_flagged_s on detail records."
    }
  },
  "data_point": {
    "does_not_answer": [
      "a single spliced 2018-2022 trend (the EC-2022 edition reaches the small-plant universe the ASM sample does not \u2014 12.1% vs 6.4% is a coverage change; cross-edition scopes carry an edition_scope note and editions are compared, never chained) \u2014 PD-066",
      "robot COUNTS or the number of robots installed (the product measures plant adoption shares and capex, not units; the import unit-count series is robotics.trade)",
      "robot imports or the border flow (robotics.trade)",
      "non-manufacturing robot use (the product surveys manufacturing plants only)",
      "a sum of adoption percents (intensive shares \u2014 averaged/min'd/max'd over a scope, never summed)",
      "capex totals rebuilt from parts (suppression makes partial sums undershoot; the published United States / all-manufacturing rows are the totals)",
      "post-2022 adoption (no later edition exists; a new edition is a WATCH item, never extrapolated)",
      "official-statistics certainty (an EXPERIMENTAL Census product \u2014 its own quality caveat is carried verbatim)"
    ],
    "grain": "table_cell_year",
    "id": "robotics.adoption",
    "note": "This is the U.S. statistical system's ONLY official robotics-ADOPTION reading \u2014 the Census Industrial Robotic Equipment experimental product: percent of manufacturing plants with robots, percent of employees at plants with robots (both published as FRACTIONS of 1), and robotics capex ($1000), by NAICS industry, state, and plant size. TWO EDITIONS, NEVER SPLICED: ASM 2018-2021 (sample) and the 2022 Economic Census (reaches the small-plant universe the sample does not \u2014 12.1% vs 6.4% is coverage, not decline). Percents are intensive (avg/min/max, never summed); capex sums undershoot below the published totals wherever suppression bites. Adoption is the installed-base reading; the import flow is robotics.trade.",
    "product_spec": "blocks/robotics_adoption/card.md",
    "represented_fact": "The U.S. Census Bureau's Industrial Robotic Equipment product \u2014 the FIRST official federal statistics on robotics ADOPTION, an experimental data product (Census's own label, carried verbatim) \u2014 served as-reported from its two edition workbooks: the 2018-2021 Annual Survey of Manufactures edition and the 2022 Economic Census edition. One atom per (edition, table, axis row, data year): the percent of manufacturing plants WITH industrial robots and the percent of manufacturing employees working at plants with robots (published as FRACTIONS of 1, e.g. 0.121 = 12.1% \u2014 served exactly as published), Census's demeaned (industry-mix-adjusted) variants and the without-robots complement, and capital expenditures for industrial robotic equipment in thousands of dollars \u2014 each by manufacturing industry (NAICS 2/3-digit, the edition's OWN vintage: 2017 NAICS in the ASM edition, 2022 NAICS in the EC edition, declared by each file's own header and never recoded, PD-049), by state (a real `state` anchor derived from the published state names), and by plant-size band (verbatim). Standard errors ride as detail fields. Suppression is three-state (PD-048): a `D`/`S`/`A` cell is a null value carrying its verbatim letter (decoded by the file's own footnote codebook), and an `(s)`-flagged estimate (standard error over 40% of the value) is served WITH its flag, never silently. THE ENGRAVED BOUNDARY (PD-066): the two editions are NEVER spliced into one time series \u2014 the 2022 Economic Census reaches the small-plant universe the ASM sample does not (US plants-with-robots reads 12.1% in ASM-2021 vs 6.4% in EC-2022 \u2014 a COVERAGE change, not a collapse), so `edition` is a served dimension and a scope spanning both editions without grouping by edition carries an edition_scope note. Percents are intensive (averaged / min'd / max'd over a scope, never summed); capex sums undershoot below the published totals wherever suppression bites (the published United States / all-manufacturing rows are the totals). Adoption is the INSTALLED-BASE reading; the import flow is robotics.trade.",
    "source_basis": [
      "robotics.census.robotic_equipment"
    ],
    "source_decisions": [
      "docs/sources/robotics/census_robotic_equipment/build-plan.md"
    ]
  },
  "input": {
    "controls": [
      "include_records",
      "include_evidence",
      "limit",
      "order_by",
      "top_n",
      "order",
      "rollup_other"
    ],
    "date_range_params": [
      "report_period_from",
      "report_period_to"
    ],
    "date_ranges": [
      "report_period"
    ],
    "field_metadata": {
      "edition": {
        "answer_label": "product edition",
        "counting_definition": "A coverage-universe label \u2014 the load-bearing scope dimension; cross-edition scopes carry an edition_scope note.",
        "definition": "asm_2018_2021 (Annual Survey of Manufactures sample, annual 2018-2021) or ec_2022 (2022 Economic Census \u2014 reaches the small-plant universe the ASM sample does not). The editions are compared, never chained into one trend (PD-066).",
        "semantics": "census_robotic_equipment_edition",
        "source_field": "edition"
      },
      "naics_vintage": {
        "answer_label": "NAICS codebook vintage",
        "counting_definition": "A codebook label, not a number.",
        "definition": "Declared by each edition's own axis header (2017 NAICS in the ASM edition, 2022 NAICS in the EC edition) and served as-is \u2014 never recoded across vintages (PD-049).",
        "semantics": "naics_vintage_pin",
        "source_field": "naics_vintage"
      }
    },
    "filters": [
      "as_of",
      "edition",
      "table",
      "naics_code",
      "naics_vintage",
      "geo_area_name",
      "state",
      "plant_size",
      "data_year",
      "report_period"
    ],
    "group_by": [
      "edition",
      "table",
      "naics_code",
      "naics_title",
      "state",
      "plant_size",
      "data_year"
    ],
    "ranking": {
      "no_ranking": "Omit order_by and top_n to return all groups in group-key order.",
      "order": {
        "default": "desc",
        "valid_values": [
          "desc",
          "asc"
        ]
      },
      "order_by": {
        "accepts": "one of output.metrics",
        "note": "Ranks the groups by a metric (a measure). Not a group_by dimension \u2014 rows already come back grouped by each group_by field.",
        "requires": [
          "group_by"
        ],
        "valid_values": [
          "avg_pct_plants_with_robots",
          "min_pct_plants_with_robots",
          "max_pct_plants_with_robots",
          "avg_pct_employees_exposed",
          "min_pct_employees_exposed",
          "max_pct_employees_exposed",
          "capex_thousand_usd",
          "source_record_count"
        ]
      },
      "top_n": {
        "note": "Keeps the top N groups by order_by; the rest fold into one (other) remainder (additive metrics sum into it, non-additive ones are nulled) so the result still reconciles to summary.totals.",
        "requires": [
          "group_by",
          "order_by"
        ],
        "type": "positive integer"
      }
    }
  },
  "output": {
    "aggregate_citation_fields": [
      "source_id",
      "publisher",
      "source_url",
      "source_file",
      "raw_file_sha256",
      "as_of",
      "source_rows_count",
      "source_rows_sample",
      "verify",
      "lineage_filter"
    ],
    "citation_fields": [
      "source_id",
      "source_url",
      "source_file",
      "sheet",
      "source_row",
      "data_year",
      "raw_file_sha256",
      "as_of"
    ],
    "detail_fields": [
      "source_id",
      "edition",
      "edition_source",
      "table",
      "naics_code",
      "naics_title",
      "naics_vintage",
      "geo_area_name",
      "state",
      "plant_size",
      "source_record_key",
      "pct_plants_with_robots",
      "pct_plants_with_robots_code",
      "pct_plants_with_robots_flagged_s",
      "pct_employees_exposed",
      "pct_employees_exposed_code",
      "pct_employees_exposed_flagged_s",
      "pct_plants_without_robots",
      "pct_plants_without_robots_code",
      "pct_plants_without_robots_flagged_s",
      "demeaned_pct_plants_with_robots",
      "demeaned_pct_plants_with_robots_code",
      "demeaned_pct_plants_with_robots_flagged_s",
      "demeaned_pct_employees_exposed",
      "demeaned_pct_employees_exposed_code",
      "demeaned_pct_employees_exposed_flagged_s",
      "capex_thousand_usd",
      "capex_thousand_usd_code",
      "capex_thousand_usd_flagged_s",
      "se_pct_plants",
      "se_pct_plants_code",
      "se_pct_plants_flagged_s",
      "se_pct_employees",
      "se_pct_employees_code",
      "se_pct_employees_flagged_s",
      "rse_capex_pct",
      "rse_capex_pct_code",
      "rse_capex_pct_flagged_s",
      "data_year",
      "report_period",
      "source_row_number",
      "as_of",
      "raw_file_sha256",
      "citation"
    ],
    "metric_groups": {
      "capex": [
        "capex_thousand_usd"
      ],
      "pct_employees_exposed": [
        "avg_pct_employees_exposed",
        "min_pct_employees_exposed",
        "max_pct_employees_exposed"
      ],
      "pct_plants_with_robots": [
        "avg_pct_plants_with_robots",
        "min_pct_plants_with_robots",
        "max_pct_plants_with_robots"
      ],
      "records": [
        "source_record_count"
      ]
    },
    "metric_metadata": {
      "avg_pct_employees_exposed": {
        "additive_across_groups": false,
        "aggregation": "avg",
        "authoritative_total_path": "summary.totals.avg_pct_employees_exposed",
        "category": "pct_employees_exposed",
        "definition": "The share of manufacturing employees working at plants with industrial robots (a fraction of 1), exactly as published, aggregated over the scope.",
        "description": "INTENSIVE adoption shares, published as FRACTIONS of 1 (0.121 = 12.1%): averaged / min'd / max'd over the scope, NEVER summed. An unscoped avg blends industries, states, plant sizes, years, AND editions \u2014 scope or group before reading. The two editions never splice: the 2022 Economic Census reaches the small-plant universe the ASM 2018-2021 sample does not (US plants-with-robots 12.1% ASM-2021 vs 6.4% EC-2022 \u2014 coverage, not decline; edition_scope note).",
        "display_name": "Percent of employees exposed to robots (avg)",
        "display_precision": "Fractions of 1 as Census publishes them (0.121 = 12.1%), rounded to 6 decimal places in JSON.",
        "grain": "edition table axis-row year",
        "null_handling": "A suppressed cell (D/S/A \u2014 the file's own codebook) is null and excluded from avg/min/max, never zero; an (s)-flagged estimate (standard error > 40%) is included and flagged on the detail record; an empty scope returns null.",
        "rollup_behavior": "non_additive_measure",
        "row_metric_path": "rows[].metrics.avg_pct_employees_exposed",
        "source_fields": [
          "pct_employees_exposed"
        ],
        "unit": "percent"
      },
      "avg_pct_plants_with_robots": {
        "additive_across_groups": false,
        "aggregation": "avg",
        "authoritative_total_path": "summary.totals.avg_pct_plants_with_robots",
        "category": "pct_plants_with_robots",
        "definition": "The share of manufacturing plants with industrial robots (a fraction of 1), exactly as the Census Industrial Robotic Equipment product publishes it, aggregated over the scope.",
        "description": "INTENSIVE adoption shares, published as FRACTIONS of 1 (0.121 = 12.1%): averaged / min'd / max'd over the scope, NEVER summed. An unscoped avg blends industries, states, plant sizes, years, AND editions \u2014 scope or group before reading. The two editions never splice: the 2022 Economic Census reaches the small-plant universe the ASM 2018-2021 sample does not (US plants-with-robots 12.1% ASM-2021 vs 6.4% EC-2022 \u2014 coverage, not decline; edition_scope note).",
        "display_name": "Percent of plants with robots (avg)",
        "display_precision": "Fractions of 1 as Census publishes them (0.121 = 12.1%), rounded to 6 decimal places in JSON.",
        "grain": "edition table axis-row year",
        "null_handling": "A suppressed cell (D/S/A \u2014 the file's own codebook) is null and excluded from avg/min/max, never zero; an (s)-flagged estimate (standard error > 40%) is included and flagged on the detail record; an empty scope returns null.",
        "rollup_behavior": "non_additive_measure",
        "row_metric_path": "rows[].metrics.avg_pct_plants_with_robots",
        "source_fields": [
          "pct_plants_with_robots"
        ],
        "unit": "percent"
      },
      "capex_thousand_usd": {
        "additive_across_groups": false,
        "aggregation": "sum",
        "authoritative_total_path": "summary.totals.capex_thousand_usd",
        "category": "capex",
        "definition": "Capital expenditures for industrial robotic equipment, in thousands of dollars, exactly as published, summed over the scope.",
        "description": "NONADDITIVE below the published totals: disclosure suppression (D) nulls cells, so partial sums UNDERSHOOT \u2014 the published 'United States' / '31-33 Manufacturing' rows are the totals. Cross-edition sums also blend coverage universes (edition_scope note).",
        "display_name": "Robotics capital expenditures",
        "display_precision": "Thousands of dollars as published, rounded to 6 decimal places in JSON.",
        "grain": "edition table axis-row year",
        "null_handling": "A suppressed cell is null (excluded from the sum), never zero \u2014 which is exactly why partial sums undershoot.",
        "rollup_behavior": "non_additive_measure",
        "row_metric_path": "rows[].metrics.capex_thousand_usd",
        "source_fields": [
          "capex_thousand_usd"
        ],
        "unit": "thousand USD"
      },
      "max_pct_employees_exposed": {
        "additive_across_groups": false,
        "aggregation": "max",
        "authoritative_total_path": "summary.totals.max_pct_employees_exposed",
        "category": "pct_employees_exposed",
        "definition": "The share of manufacturing employees working at plants with industrial robots (a fraction of 1), exactly as published, aggregated over the scope.",
        "description": "INTENSIVE adoption shares, published as FRACTIONS of 1 (0.121 = 12.1%): averaged / min'd / max'd over the scope, NEVER summed. An unscoped avg blends industries, states, plant sizes, years, AND editions \u2014 scope or group before reading. The two editions never splice: the 2022 Economic Census reaches the small-plant universe the ASM 2018-2021 sample does not (US plants-with-robots 12.1% ASM-2021 vs 6.4% EC-2022 \u2014 coverage, not decline; edition_scope note).",
        "display_name": "Percent of employees exposed to robots (max)",
        "display_precision": "Fractions of 1 as Census publishes them (0.121 = 12.1%), rounded to 6 decimal places in JSON.",
        "grain": "edition table axis-row year",
        "null_handling": "A suppressed cell (D/S/A \u2014 the file's own codebook) is null and excluded from avg/min/max, never zero; an (s)-flagged estimate (standard error > 40%) is included and flagged on the detail record; an empty scope returns null.",
        "rollup_behavior": "non_additive_measure",
        "row_metric_path": "rows[].metrics.max_pct_employees_exposed",
        "source_fields": [
          "pct_employees_exposed"
        ],
        "unit": "percent"
      },
      "max_pct_plants_with_robots": {
        "additive_across_groups": false,
        "aggregation": "max",
        "authoritative_total_path": "summary.totals.max_pct_plants_with_robots",
        "category": "pct_plants_with_robots",
        "definition": "The share of manufacturing plants with industrial robots (a fraction of 1), exactly as the Census Industrial Robotic Equipment product publishes it, aggregated over the scope.",
        "description": "INTENSIVE adoption shares, published as FRACTIONS of 1 (0.121 = 12.1%): averaged / min'd / max'd over the scope, NEVER summed. An unscoped avg blends industries, states, plant sizes, years, AND editions \u2014 scope or group before reading. The two editions never splice: the 2022 Economic Census reaches the small-plant universe the ASM 2018-2021 sample does not (US plants-with-robots 12.1% ASM-2021 vs 6.4% EC-2022 \u2014 coverage, not decline; edition_scope note).",
        "display_name": "Percent of plants with robots (max)",
        "display_precision": "Fractions of 1 as Census publishes them (0.121 = 12.1%), rounded to 6 decimal places in JSON.",
        "grain": "edition table axis-row year",
        "null_handling": "A suppressed cell (D/S/A \u2014 the file's own codebook) is null and excluded from avg/min/max, never zero; an (s)-flagged estimate (standard error > 40%) is included and flagged on the detail record; an empty scope returns null.",
        "rollup_behavior": "non_additive_measure",
        "row_metric_path": "rows[].metrics.max_pct_plants_with_robots",
        "source_fields": [
          "pct_plants_with_robots"
        ],
        "unit": "percent"
      },
      "min_pct_employees_exposed": {
        "additive_across_groups": false,
        "aggregation": "min",
        "authoritative_total_path": "summary.totals.min_pct_employees_exposed",
        "category": "pct_employees_exposed",
        "definition": "The share of manufacturing employees working at plants with industrial robots (a fraction of 1), exactly as published, aggregated over the scope.",
        "description": "INTENSIVE adoption shares, published as FRACTIONS of 1 (0.121 = 12.1%): averaged / min'd / max'd over the scope, NEVER summed. An unscoped avg blends industries, states, plant sizes, years, AND editions \u2014 scope or group before reading. The two editions never splice: the 2022 Economic Census reaches the small-plant universe the ASM 2018-2021 sample does not (US plants-with-robots 12.1% ASM-2021 vs 6.4% EC-2022 \u2014 coverage, not decline; edition_scope note).",
        "display_name": "Percent of employees exposed to robots (min)",
        "display_precision": "Fractions of 1 as Census publishes them (0.121 = 12.1%), rounded to 6 decimal places in JSON.",
        "grain": "edition table axis-row year",
        "null_handling": "A suppressed cell (D/S/A \u2014 the file's own codebook) is null and excluded from avg/min/max, never zero; an (s)-flagged estimate (standard error > 40%) is included and flagged on the detail record; an empty scope returns null.",
        "rollup_behavior": "non_additive_measure",
        "row_metric_path": "rows[].metrics.min_pct_employees_exposed",
        "source_fields": [
          "pct_employees_exposed"
        ],
        "unit": "percent"
      },
      "min_pct_plants_with_robots": {
        "additive_across_groups": false,
        "aggregation": "min",
        "authoritative_total_path": "summary.totals.min_pct_plants_with_robots",
        "category": "pct_plants_with_robots",
        "definition": "The share of manufacturing plants with industrial robots (a fraction of 1), exactly as the Census Industrial Robotic Equipment product publishes it, aggregated over the scope.",
        "description": "INTENSIVE adoption shares, published as FRACTIONS of 1 (0.121 = 12.1%): averaged / min'd / max'd over the scope, NEVER summed. An unscoped avg blends industries, states, plant sizes, years, AND editions \u2014 scope or group before reading. The two editions never splice: the 2022 Economic Census reaches the small-plant universe the ASM 2018-2021 sample does not (US plants-with-robots 12.1% ASM-2021 vs 6.4% EC-2022 \u2014 coverage, not decline; edition_scope note).",
        "display_name": "Percent of plants with robots (min)",
        "display_precision": "Fractions of 1 as Census publishes them (0.121 = 12.1%), rounded to 6 decimal places in JSON.",
        "grain": "edition table axis-row year",
        "null_handling": "A suppressed cell (D/S/A \u2014 the file's own codebook) is null and excluded from avg/min/max, never zero; an (s)-flagged estimate (standard error > 40%) is included and flagged on the detail record; an empty scope returns null.",
        "rollup_behavior": "non_additive_measure",
        "row_metric_path": "rows[].metrics.min_pct_plants_with_robots",
        "source_fields": [
          "pct_plants_with_robots"
        ],
        "unit": "percent"
      },
      "source_record_count": {
        "additive_across_groups": true,
        "aggregation": "count source records",
        "authoritative_total_path": "summary.totals.source_record_count",
        "category": "records",
        "definition": "Count of normalized observations (edition \u00d7 table \u00d7 axis row \u00d7 year) contributing to the current result scope.",
        "description": "Number of normalized Census observations contributing to the value.",
        "display_name": "Source record count",
        "display_precision": "Integer.",
        "grain": "source row",
        "null_handling": "Always an integer count.",
        "rollup_behavior": "additive_partition_metric",
        "row_metric_path": "rows[].metrics.source_record_count",
        "source_fields": [
          "source_record_key"
        ],
        "unit": "count"
      }
    },
    "metrics": [
      "avg_pct_plants_with_robots",
      "min_pct_plants_with_robots",
      "max_pct_plants_with_robots",
      "avg_pct_employees_exposed",
      "min_pct_employees_exposed",
      "max_pct_employees_exposed",
      "capex_thousand_usd",
      "source_record_count"
    ],
    "summary_fields": [
      "group_count",
      "totals"
    ]
  },
  "primitive": "query_robotics_adoption_v1",
  "status": "available"
}
