Reference · companion to the article

Data dictionary

Every variable used in More service jobs, less technical AI use — a subnational look, defined twice: once technically, once for a reader with no economics background.

Last updated 31 July 2026 · Carlos Ignacio Navarro

How to read this. Section 1 is the analysis dataset — the 17 columns that actually enter the results. Section 2 explains the five constructed measures in depth, because those are where the interpretation lives. Sections 3–6 document the source data each was built from. Section 7 lists the definitional wrinkles worth knowing about.

1. The analysis frame

One row per OECD TL2 region. 279 rows × 17 columns, 35 countries. Built by collapsing 293 Economic Index subregions up to their parent TL2 region, weighted by usage.

ColumnUnitTechnical definitionIn plain terms
tl2_codestringOECD Territorial Level 2 code, TL2024 vintage (e.g. US11, ES51, FR1)The region's ID. One row per region.
countrystringISO 3166-1 alpha-2, taken from the subregion code prefixWhich country the region is in.
n_subcountNumber of subregions collapsed into this TL2How many smaller administrative areas were merged. Usually 1; 12 regions are built from more than one.
usage_wtpercentSum of usage_pct across constituent subregionsHow much of its country's Claude usage this region accounts for.
log_vollog percentln(usage_wt)The same thing on a log scale, so a big region and a small one can be compared proportionally. The disclosure-volume control.
comp_math_rawpp of usageUsage-weighted mean of the raw, un-renormalized SOC major group 15 (Computer and Mathematical) pctThe outcome. Of everything people in this region do with Claude, the share that is computing and mathematical work.
comp_math_renormppSame, but from shares rescaled so a region's reported groups sum to 100A diagnostic version of the above. Not used in any published estimate.
b4_masspp of usageUsage-weighted sum of the raw pct of the four non-technical universally-reported groupsHow much of a region's usage sits in office/admin, sales, education and arts work combined.
b4_of_nontechpercentb4_mass / (100 − comp_math_raw) × 100Of the non-technical usage in a region, how much sits in those four big occupational families. Built so that "the technical slice shrank and everything else grew proportionally" gives an exactly flat line.
soc_pct_sum_rawpercentUsage-weighted mean of each subregion's pre-renormalization occupational totalHow much of a region's usage the data actually discloses by occupation. Median ≈ 95%; the rest is suppressed for privacy.
service_share% of employmentShare of regional employment in service activities — see §2.1The main regressor. How much of the region's workforce is in services rather than farming, factories or construction.
knowledge_service_share% of employmentShare in ICT, finance and professional/administrative services — see §2.2A narrower version: only the "knowledge economy" slice of services.
gdp_pc_pppUSD, PPPRegional GDP per capita, constant prices, PPP-adjustedHow rich the region is per person, adjusted so currencies and price levels are comparable.
pct_tertiarypercentShare of population with ISCED 2011 levels 5–8Share of people with a university-level qualification.
poppersonsRegional populationHow many people live there.
pop_densitypersons/km²Population per square kilometreHow crowded it is.
gdp_pc_relratioRegional GDP per capita relative to its national averageWhether the region is richer or poorer than its own country's average. 1.0 = exactly average.

Created later, not stored in the CSV: log_gdp_pc = ln(gdp_pc_ppp). Used in every controlled specification.

2. The constructed measures, explained

2.1 service_share — the main regressor

What counts as a service. Everything that is not agriculture, extraction, manufacturing, utilities or construction. This is the standard national-accounts definition, and it is much broader than "office work." A supermarket cashier, a bus driver, a nurse, a schoolteacher, a hotel cleaner and an investment banker are all in the service sector.

Non-US regions (34 countries) — OECD Regional Database, dataflow DSD_REG_ECO@DF_EMP ("Employment by main economic activity – Regions"), territorial level TL2, classified by NACE Rev. 2 activity aggregates:

service_share = (G-I + J + K + L + M_N + O-Q + R-U) / _T × 100
CodeActivities
G-Iwholesale and retail trade; transport and storage; accommodation and food service
Jinformation and communication
Kfinancial and insurance activities
Lreal estate activities
M_Nprofessional, scientific and technical; administrative and support services
O-Qpublic administration and defence; education; human health and social work
R-Uarts, entertainment and recreation; other services; household and extraterritorial activities
_Ttotal employment (the denominator)

Excluded — and therefore not services: A agriculture, forestry and fishing; B-E mining, manufacturing, electricity and gas, water and waste; F construction.

US states (51 regions) — BLS Quarterly Census of Employment and Wages, using annual_avg_emplvl:

service_share = emp(102) / (emp(101) + emp(102)) × 100
  at agglvl_code == 52, summed over own_code ∈ {1,2,3,5}

where 101 is goods-producing and 102 is service-providing. Ownership codes 1, 2, 3 and 5 are federal, state and local government plus private industry. agglvl_code must be pinned: selecting industry codes without pinning the aggregation tier mixes levels and picks up suppressed detail rows, which manufactured a false result in an early build. At tier 52 the only industry codes that exist are 101 and 102, so pinning the tier performs the industry selection.

In plain terms: take everyone employed in the region, work out how many are in service industries rather than making or growing physical things, and express it as a percentage. Regions run from about 37% to 97.5%.

2.2 knowledge_service_share — the narrower regressor

Non-US: (J + K + M_N) / _T × 100 — information and communication, finance and insurance, professional/scientific/technical and administrative services.

US: at agglvl_code == 53 (supersector tier), (1022 + 1023 + 1024) over all supersectors excluding 1029 — information, financial activities, and professional and business services, over the total excluding unclassified.

In plain terms: the white-collar, information-heavy slice of the service sector. Excludes retail, transport, hospitality, health and education.

Status: a documented failure. It looked like the stronger regressor in early exploratory work, but it collapses once regional usage volume is controlled for (t = −0.93, p = 0.354), because knowledge-service regions are the high-usage regions. service_share is the primary regressor. Kept as a reported negative result.

2.3 comp_math_raw — the outcome

The Economic Index classifies each conversation into one of the 22 major groups of the US Standard Occupational Classification. Major group 15 is Computer and Mathematical Occupations — software development, systems analysis, data science, statistics, actuarial work.

The pct metric is "percentage of the geography's total in this category node," so SOC 15's raw pct is already the share of all of a region's Claude usage that is computing and mathematical work. No rescaling is applied, which is what makes it independent of how much of the region's data was disclosed.

At TL2 level it is the usage-weighted mean across constituent subregions — which, because the weights are usage shares, is exactly the aggregate share for the combined region.

In plain terms: out of everything people in this region ask Claude to do, this is the percentage that is technical or computing work. Sample mean 24.4%, ranging from about 19% to 32%.

Why "raw" rather than the renormalized version. The renormalized shares divide by each region's disclosure coverage, and coverage correlates with service employment. That rescaling would drag the outcome in the same direction as the finding, mechanically. Removing it shrank the estimate by about 20% — the finding survived, but on the raw measure it is not open to that objection.

2.4 b4_of_nontech — the breadth test

The four occupational groups reported in every region — office and administrative support, sales, educational instruction, and arts/media — as a share of all non-technical usage.

Constructed so the null hypothesis is exactly flat: if the technical slice shrinks and everything else expands in proportion, this number does not move. It falls only if usage genuinely leaks toward the long tail of smaller occupations. Because both its numerator and denominator are always-observed raw values, disclosure coverage cancels out entirely.

Result: flat. No support for the breadth hypothesis. See Appendix B of the article.

2.5 log_vol — the disclosure-volume control

ln of the region's summed usage_pct.

An important subtlety. For subregions, usage_pct is measured relative to the parent country, not globally. So usage_wt is a region's share of its own country's usage, and log_vol is the log of that share — which is not comparable in levels across countries.

This is harmless here, and provably so. Since ln(usage_i) = ln(share_i) + ln(country total), and the country total is constant within a country, the difference is absorbed entirely by the country fixed effects that every specification using log_vol includes. Within a country, log_vol is exactly equivalent to log absolute usage up to a constant.

Why it exists: the Economic Index suppresses an occupation category when the underlying conversation count is too small. Bigger regions clear that threshold in more categories and therefore look more occupationally diverse for reasons that have nothing to do with AI diffusion. Controlling for volume closes that channel.

2.6 tech_core and tech_broad — the independent technical measure

A second measure of technical usage, built from the artifact classification rather than the occupational one.

tech_core  = artifact_code_fix_or_debug_pct + artifact_script_or_snippet_pct
           + artifact_sql_or_database_query_pct + artifact_config_or_infra_pct
tech_broad = tech_core + artifact_app_or_website_pct + artifact_ml_or_ai_system_pct

Why it is genuinely independent of comp_math_raw:

  1. Different question. comp_math_raw asks which occupation a task belongs to. The artifact measure asks what the conversation produced. A marketer writing a SQL query is technical by artifact but not by occupation; an engineer asking for career advice is the reverse.
  2. No suppression. Artifact shares come from the overall category, which is published for all 652 subregions with every one of the 32 labels present, summing to 100.00 per region (observed range 99.95–100.05). There is no disclosure threshold, no varying support, no coverage variable, and no need for a volume control. Every methodological complication in this project came from the occupational data's suppression, and none of it applies here.
  3. Complete denominator. Artifact shares cover all usage; occupational shares cover a median of 13 of 22 groups.

Result — the two agree. Preferred specification: tech_core gives −0.0562 (t = −3.53) against comp_math_raw's −0.0581 (t = −4.07). In within-country standard deviations, −1.48 against −1.27 — the independent measure is slightly stronger. Correlation between the measures is +0.857 pooled, +0.652 within country: close enough to be tracking a common construct, far enough apart that the agreement is not circular. Means differ as expected — 24.4% of usage is occupationally technical, 9.3% actually produces code.

Limitation. These are two classifications of the same conversations, not two independent datasets. The check rules out artifacts of the occupational taxonomy and of the disclosure structure — which is what was in doubt — but not something common to the underlying sample or classifier.

3. Source — Anthropic Economic Index, Release 6

Claude.ai consumer usage (Free, Pro, Max), released CC-BY. Two monthly windows: 2026-04-01 and 2026-05-01, date_end exclusive.

FieldMeaning
date_start / date_endCollection period. End is exclusive.
geo_idGLOBAL, an ISO 3166-1 alpha-3 country code, or an ISO 3166-2 subregion code (e.g. US-GA, JP-01).
geo_levelglobal, country, or subregion.
category_nameAnalysis dimension: overall, onet, request, soc_occupation.
hierarchy_levelDepth within the category. 0 is most granular. For soc_occupation, 0 = detailed occupation, 1 = major group (the 22 we use).
metric_idWhich metric this row reports.
valueThe number, rounded to two decimals.
node_nameThe specific entity — e.g. "Computer and Mathematical".
node_external_idSource identifier — O*NET element ID, SOC code, or request-topic UUID.

Metrics used

MetricDefinitionNote
pctPercentage of the geography's total in this category nodeThe occupational shares. Denominator is all the region's usage.
usage_pctPercentage of total usage relative to the parent geography — global for countries, parent country for subregionsUsed as collapse weight and as the volume control. See §2.5.
usage_per_capita_indexUsage share ÷ working-age (15–64) population share. 1.0 = proportional to populationCountries and US states only. Its absence elsewhere is why this project measures composition, not intensity.

Disclosure. "A cell is only published if it meets both the aggregation thresholds and the geography sample floor." A missing row means the cell was not published, not that the value is zero. This single sentence drives the entire methodology: it is why absent groups must never be read as zeros, why support varies from 5 to 22 groups across regions, and why every breadth measure had to be tested against a volume control.

Filtering rule. Topline figures must be filtered to category_name == "overall". Metrics repeat across category trees and hierarchy levels; unfiltered sums double-count and produce meaningless multiples.

4. Source — OECD Regional Database

Accessed via the SDMX REST API at sdmx.oecd.org, agency OECD.CFE.EDS, territorial levels CTRY + TL2, keyed on ref_area (OECD TL2 code).

DataflowProvides
DSD_REG_ECO@DF_EMPemployment by main economic activity (→ service_share, knowledge_service_share, emp_total)
DSD_REG_ECO@DF_ECOGDP and labour productivity (→ gdp_pc_ppp, lab_prod_ppp, gdp_pc_rel)
DSD_REG_DEMO@DF_DEMOpopulation (→ pop, pop_density)
DSD_REG_EDU@DF_EDUeducational attainment (→ pct_tertiary, using ISCED11_5T8)

Cleaning rules that matter

Fetch note. pd.read_csv(url) returns HTTP 403 — OECD blocks the Python urllib user-agent. Use requests with a browser UA and Accept: application/vnd.sdmx.data+csv; labels=both.

Coverage gap. The regional database reports total employment for Japanese regions but no industry breakdown, and no regional educational attainment. Japan is therefore absent from the analysis despite the Economic Index covering 33 Japanese subregions that crosswalk cleanly to 11 TL2 regions.

Six residual pseudo-regionsATZZ, BEZZ, ESZZ, FIZZ, PTZZ, SEZZ — carry service_share of exactly 100.0 with no GDP. No region maps to them and the completeness rule excludes them, but any future frame rule keyed on service_share alone would admit them as 100%-service regions.

5. Source — BLS Quarterly Census of Employment and Wages

Used only to supply US state employment shares, because the OECD regional series does not cover US states at the required industry detail.

FieldMeaningHow used
area_fips5-character FIPS area codeStates end in 000 (but not US000, which is national). Keyed to OECD as "US" + area_fips[:2].
own_codeOwnership: 1 federal, 2 state, 3 local, 5 privateSummed over {1,2,3,5}. Codes 0 and 8 are aggregates and don't appear at these tiers.
industry_codeNAICS or supersector code101/102 at tier 52; 10111029 at tier 53.
agglvl_codeAggregation tier52 = domain (goods vs services); 53 = supersector. Must be pinned.
annual_avg_emplvlAnnual average of monthly employment levelsThe employment measure.
disclosure_codeBlank, or N = not disclosedSuppressed cells appear as employment 0 with N.

Why the share survives suppression. It is self-normalising: a suppressed ownership row contributes zero to both numerator and denominator and cancels out.

In plain terms: QCEW is a near-census of jobs covered by unemployment insurance — roughly 95% of US employment. It counts jobs where the work is located, not where the worker lives.

6. Crosswalk

Maps Economic Index subregion codes to OECD regions. 433 mapped subregions.

ColumnMeaning
geo_idSubregion code (ISO 3166-2)
countryISO 3166-1 alpha-2
iso_nameRegion name from pycountry
tl2_codeOECD TL2 code — the merge key
match_typeexact, aggregate (several regions → one TL2), or manual
scoreFuzzy-match score
in_frameWhether the region is in the analytic set

Built from the OECD Territorial Correspondence Table (TL2024), fuzzy-matched on both English and local-language region names, with 11 manual corrections and 6 drops, then hand-verified. Portugal's districts and Ireland's provinces are best-fit approximations that do not nest perfectly.

7. Definitional wrinkles worth knowing

  1. US and OECD service shares are not identical constructs. QCEW covers employment insured against unemployment — it excludes the self-employed and most farm work — so US service shares sit systematically above OECD's. Country fixed effects absorb the level difference; only within-US variation is used.
  2. US "financial activities" is broader than OECD "K". Supersector 1023 bundles NAICS 52 (finance and insurance) with 53 (real estate and leasing), while OECD keeps real estate separate in L. Both fall inside service_share either way; the difference only affects knowledge_service_share.
  3. "100% covariate completeness" in the in_frame rule means the analysis covariates — gdp_pc_ppp, service_share, pct_tertiary, pop — not every column. emp_total is excluded. Exactly one observation (US-AK) distinguishes the two readings.
  4. comp_math_renorm and b4_of_nontech use opposite aggregation orders (weighted mean of ratios vs ratio of weighted means). Affects only the 12 multi-subregion TL2s, max relative difference 4.2e-3, and neither enters a published estimate. comp_math_raw is a simple mass and is identical under either order.
  5. Occupational support is not fixed at 22 groups. The median subregion reports 13 of 22; only 11 of 279 TL2 regions report all 22. Column layout and realized support are different things.
  6. Two months, not one. All metrics are averaged across April and May 2026 over present observations only. A group reported in one month keeps that month's value rather than being halved. April carries 6,707 level-1 occupation rows against May's 8,509 — 27% more categories clearing disclosure in the second month, over an identical set of regions.

Appendix — the master dataset

652 rows × 73 columns, one row per subregion. This is the merge layer; the analysis frame is derived from it. Only 12 of these 73 columns enter the published analysis — the rest are carried for transparency and future work.

Composition: 1 key + 52 Economic Index metrics + 4 crosswalk + 10 covariates + 6 occupation-derived = 73.

Task characteristics (7)

ColumnDefinitionIn plain terms
multitasking_pct% of conversations involving more than one distinct taskHow often people ask for several things at once.
human_only_ability_pct% where a human could have done the task without AIHow much of the work wasn't strictly dependent on AI.
ai_autonomy_meanMean AI autonomy in task completion, 1–5How much Claude was left to get on with it.
ai_education_years_meanMean equivalent years of education Claude demonstratedHow advanced the work Claude did was, in schooling-year terms.
human_education_years_meanMean years of human education the task would requireHow advanced the work was for a person.
human_only_time_meanMean hours for a human to do it unaidedHow long it would have taken without AI.
human_with_ai_time_meanMean minutes for a human to do it with AIHow long it took with AI. Note the unit change — hours above, minutes here.

Collaboration mode (8)

ColumnIn plain terms
collaboration_bucket_automation_pctClaude did the task.
collaboration_bucket_augmentation_pctClaude helped the person do the task.
collaboration_directive_pctOne instruction, one output.
collaboration_feedback_loop_pctBack-and-forth refinement.
collaboration_task_iteration_pctRepeated passes over the same task.
collaboration_learning_pctThe person was trying to understand something.
collaboration_validation_pctThe person was checking their own work.
collaboration_none_pctNo pattern assigned.

Use case (3)use_case_work_pct, use_case_personal_pct, use_case_coursework_pct. Share of conversations classified as work, personal or coursework.

Artifact type (32)

artifact_{label}_pct, the share of conversations whose most prominent concrete output was that kind of thing. In plain terms: what people ended up with — a document, a chart, a bug fix, a recipe. Labels: academic_paper_or_thesis, advice_or_recommendation, analysis_or_summary, app_or_website, audio_or_music, blog_or_article, chart_or_visualization, code_fix_or_debug, config_or_infra, creative_writing, data_or_spreadsheet, document_or_report, educational_material, email_or_message, explanation_or_answer, game_or_interactive, idea_or_brainstorm, image_or_graphic, marketing_or_social_content, math_or_calculation, ml_or_ai_system, none, other, plan_or_strategy, presentation_or_slides, recipe_or_meal_plan, resume_or_job_application, script_or_snippet, sql_or_database_query, translation, ui_or_design_mockup, video_or_animation.

Occupation-derived columns (6)

ColumnDefinitionIn plain termsStatus
comp_math_shareRenormalized SOC 15 shareTechnical share of usage, rescaled so reported groups sum to 100Superseded by comp_math_raw, rebuilt from this by multiplying back through soc_pct_sum_raw
prof_core_shareRenormalized SOC 11+13+15Management + business/finance + computingNot used — collapses to −0.139 once renormalization is removed. Largely a rescaling artifact.
white_collar_shareRenormalized SOC 11–29All professional and managerial occupationsNot used — near-ceiling at ~80% with a coefficient of variation of 0.03. Almost no variation to explain.
soc_pct_sum_rawPre-renormalization occupational totalHow much of the region's usage is disclosed by occupation. Median ≈ 95%.Used.
soc_n_groupsDistinct SOC major groups reportedHow many of the 22 occupation families show up at all. Min 5, median 13.Diagnostic.
soc_coveredWhether occupation data exists for this subregionTrue for 609 of 652.Used as a filter.

The 12 columns that actually enter the analysis

geo_id, tl2_code, country, in_frame, usage_pct, service_share, knowledge_service_share, gdp_pc_ppp, pct_tertiary, pop, soc_pct_sum_raw, soc_covered — plus comp_math_share, which is used only as the input from which comp_math_raw is reconstructed. Everything else is carried for transparency or parked for future work.

← Back to the article