Claude Use by Department: What Public Data Shows
The short answer
IT, software and data work makes up about 37% of the conversations in Anthropic’s public Claude.ai data (release dated 2025-02-10), far ahead of any other department. Marketing, media and creative is next at about 11%. This is public-data evidence from Free and Pro conversations. It is not a result from any enterprise rollout.
What you will have at the end
One Python file, departments_claude_usage.py, that fetches Anthropic’s public Economic Index files itself, maps every task that has an occupation to a department, checks its own result and writes two CSV files: departments_claude_usage.csv (13 departments and an “Other occupations” group, plus the share that no occupation could take) and major_groups_claude_usage.csv (the 22 occupation groups against US employment). It needs only the duckdb Python module, no account and no API key. It does not call Claude.
The question behind it is one a CDO can expect in a Claude rollout: which departments use it, and for what? Anthropic’s Economic Index does not answer that by department, because its categories are occupations. We did the translation in the open, so you can change it.
Method
The data
The Anthropic Economic Index, folder release_2025_02_10, pinned to dataset commit 4e5f69fab13a9c3f7d0dcc31a6f893a9818738f6, at huggingface.co/datasets/Anthropic/EconomicIndex (read 2026-10-18). The dataset card says “Data released under CC-BY, code released under MIT License”; its metadata header says license: mit. We credit Anthropic either way. We use four files from the folder:
onet_task_mappings.csv: the percentage of conversations involving each O*NET task (3,514 rows).onet_task_statements.csv: O*NET’s task text and the occupation code that lists each task.SOC_Structure.csv: the occupation hierarchy, used for the group titles.bls_employment_may_2023.csv: US employment by occupation group, from the Bureau of Labor Statistics.
Per Anthropic, the analysis covers about one million Free and Pro conversations on Claude.ai and excludes API, Team and Enterprise usage. Anthropic used its automated analysis tool Clio to match each conversation to the O*NET task that best fit Claude’s role, so researchers did not read the conversations (Anthropic: The Anthropic Economic Index (read 2026-10-18)). The pages we read do not state the period the conversations were collected in. The folder name dates the release, not the conversations.
From task to department
- Each O*NET task carries a share of conversations. The 3,514 shares add up to 100%.
- A task can be listed by several occupations. We split its share equally across the occupation codes that list it. Anthropic’s method for this step may differ, and the choice matters for tasks that many occupations share (see Limits).
- Each occupation code goes to a department by the longest matching prefix in the table below. We wrote this table. It is a judgment, not a fact about your company: an “Operations” occupation in the SOC code list is not your Operations department.
- Shares are summed per department. One task in the file is the text
none, which has no occupation; its share is reported on its own line, not hidden.
| Occupation-code prefix | Department | Covers |
|---|---|---|
11 | Executive management | Management Occupations |
11-2011 | Marketing, media & creative | advertising and promotions managers |
11-2021 | Marketing, media & creative | marketing managers |
11-2022 | Sales | sales managers |
11-2031 | Marketing, media & creative | public relations and fundraising managers |
11-3 | Operations & business support | |
11-3021 | IT, software & data | computer and information systems managers |
11-3031 | Finance & accounting | financial managers |
11-3121 | Human resources | human resources managers |
13 | Operations & business support | Business and Financial Operations Occupations |
13-1071 | Human resources | human resources specialists |
13-1075 | Human resources | labor relations specialists |
13-1161 | Marketing, media & creative | market research analysts and marketing specialists |
13-2 | Finance & accounting | |
15 | IT, software & data | Computer and Mathematical Occupations |
17 | Engineering | Architecture and Engineering Occupations |
19 | Research & science | Life, Physical, and Social Science Occupations |
21 | Other occupations | Community and Social Service Occupations |
23 | Legal | Legal Occupations |
25 | Education & training | Educational Instruction and Library Occupations |
27 | Marketing, media & creative | Arts, Design, Entertainment, Sports, and Media Occupations |
29 | Healthcare | Healthcare Practitioners and Technical Occupations |
31 | Healthcare | Healthcare Support Occupations |
33 | Other occupations | Protective Service Occupations |
35 | Other occupations | Food Preparation and Serving Related Occupations |
37 | Other occupations | Building and Grounds Cleaning and Maintenance Occupations |
39 | Other occupations | Personal Care and Service Occupations |
41 | Sales | Sales and Related Occupations |
43 | Customer support & administration | Office and Administrative Support Occupations |
43-3 | Finance & accounting | financial clerks |
45 | Other occupations | Farming, Fishing, and Forestry Occupations |
47 | Other occupations | Construction and Extraction Occupations |
49 | Other occupations | Installation, Maintenance, and Repair Occupations |
51 | Other occupations | Production Occupations |
53 | Other occupations | Transportation and Material Moving Occupations |
The prefixes are Standard Occupational Classification (SOC) codes, the system O*NET builds on. Edit the DEPARTMENT_BY_PREFIX dictionary at the top of the script, run it again and every number below changes with it.
The core of the script
DuckDB reads the CSV files straight from the pinned URL. This is the step that assigns codes to departments and splits each task’s share:
Python and SQL: map codes, split shared tasks (excerpt of the script)con.execute("""
CREATE TABLE occ_dept AS
SELECT DISTINCT code,
coalesce(first(department ORDER BY length(prefix) DESC), 'UNMAPPED') AS department
FROM (SELECT DISTINCT "O*NET-SOC Code" AS code FROM statements) o
LEFT JOIN dept_map d ON o.code LIKE d.prefix || '%'
GROUP BY code""")
con.execute("""
CREATE TABLE task_occ AS
SELECT DISTINCT lower(trim(Task)) AS task, "O*NET-SOC Code" AS code FROM statements""")
con.execute("""
CREATE TABLE weighted AS
SELECT m.task_name, m.pct, t.code, d.department, t.task AS matched,
m.pct / greatest(count(t.code) OVER (PARTITION BY m.task_name), 1) AS weight
FROM mappings m
LEFT JOIN task_occ t ON lower(trim(m.task_name)) = t.task
LEFT JOIN occ_dept d ON t.code = d.code""")
DuckDB reads CSV files over HTTPS with read_csv (DuckDB: CSV import (read 2026-10-18)). We ran this version:
python3 -c "import duckdb;print(duckdb.__version__)" 1.5.6
The script checks its own result
Before it writes a CSV, the script checks that the department shares sum to 100%, that the number of rows loaded equals the number in the source file, that no task appears twice, that each task’s share is handed out in full across its occupations, that every prefix in the mapping table matches a real occupation code (so a prefix that matches no real code is caught, not silently ignored), that every occupation code maps to a department, and that the only task with no occupation is the recorded none. If any check fails it prints the failure, writes no CSV and exits with code 1.
Run 1. The measurement
Run as published (python3 departments_claude_usage.py), all seven checks passed and the script wrote both CSV files. The first 26 lines of what it printed:
Checks [PASS] shares sum to 100%: departments total 100.000000% [PASS] mapping rows match the source file: 3514 rows loaded, 3514 in the source file [PASS] no duplicate task in the mapping file: 0 duplicated task name(s) [PASS] every task's share is spread in full: largest gap between a task's share and what its occupations received: 4.16e-17 [PASS] every department prefix matches a real code: all prefixes used [PASS] every occupation code maps to a department: 974 of 974 codes mapped, 0 unmapped [PASS] tasks with no occupation are only the recorded 'none': 1 task(s) without an occupation, carrying 0.4816% of conversations Share of Claude conversations by department (Economic Index release_2025_02_10) department share % tasks occ. IT, software & data 37.18 389 34 Marketing, media & creative 11.18 297 47 Education & training 9.28 263 61 Other occupations 7.94 534 220 Customer support & administration 7.58 249 48 Research & science 6.35 337 58 Engineering 4.49 298 64 Finance & accounting 3.45 203 28 Executive management 2.94 197 34 Operations & business support 2.87 218 39 Healthcare 2.84 303 88 Sales 2.30 169 24 Legal 0.89 36 8 Human resources 0.22 26 3 No occupation (task recorded as none) 0.48 1 0
Result table: share of Claude conversations by department
The same numbers, with each department’s single largest task. The largest task is the O*NET task with the biggest share inside that department after the equal split. The task text is O*NET’s, in lower case as the dataset has it.
| Department | Share of conversations, % | Tasks | Occupation codes | Largest single task (share, %) |
|---|---|---|---|---|
| IT, software & data | 37.18 | 389 | 34 | modify existing software to correct errors, to adapt it to new hardware, or to upgrade interfaces and improve performance. (4.794%) |
| Marketing, media & creative | 11.18 | 297 | 47 | prepare, rewrite and edit copy to improve readability, or supervise others who do this work. (1.004%) |
| Education & training | 9.28 | 263 | 61 | select and edit documents for publication and display, applying knowledge of subject, literary expression, and presentation techniques. (1.406%) |
| Other occupations | 7.94 | 534 | 220 | modify existing programs to enhance efficiency. (0.783%) |
| Customer support & administration | 7.58 | 249 | 48 | perform routine system administrative functions such as troubleshooting, back-ups, and upgrades. (1.812%) |
| Research & science | 6.35 | 337 | 58 | interact with clients to assist them in gaining insight, defining goals, and planning action to achieve effective personal, social, educational, and vocational development and adjustment. (0.285%) |
| Engineering | 4.49 | 298 | 64 | analyze information to determine, recommend, and plan layout, including type of computers and peripheral equipment modifications. (0.427%) |
| Finance & accounting | 3.45 | 203 | 28 | explain general financial topics to clients, such as credit report ratings, bankruptcy laws, consumer protection laws, wage attachments, or collection actions. (0.234%) |
| Executive management | 2.94 | 197 | 34 | analyze operations to evaluate performance of a company or its staff in meeting objectives or to determine areas of potential cost reduction, program improvement, or policy change. (0.241%) |
| Operations & business support | 2.87 | 218 | 39 | analyze organizational, occupational, and industrial data to facilitate organizational functions and provide technical information to business, industry, and government. (0.345%) |
| Healthcare | 2.84 | 303 | 88 | prepare comprehensive interpretive reports of findings. (0.075%) |
| Sales | 2.30 | 169 | 24 | answer customers' questions, and provide information on procedures or policies. (0.158%) |
| Legal | 0.89 | 36 | 8 | use mediation techniques to facilitate communication between disputants, to further parties' understanding of different perspectives, and to guide parties toward mutual agreement. (0.180%) |
| Human resources | 0.22 | 26 | 3 | contact job applicants to inform them of the status of their applications. (0.037%) |
| No occupation (task recorded as none) | 0.48 | 1 | 0 | none (0.482%) |
Download: departments_claude_usage.csv.
The same data by occupation group, against US employment
This table skips our department judgment. It uses only Anthropic’s occupation groups and the Bureau of Labor Statistics employment file in the same folder. The ratio is the group’s share of Claude conversations divided by its share of US employment. Above 1 means the group appears in Claude conversations more than its headcount would suggest. The shares do not reach 100% because the none task has no group.
| Occupation group | Claude conversations, % | US employment, % | Ratio |
|---|---|---|---|
15 Computer and Mathematical Occupations | 37.05 | 3.41 | 10.87 |
27 Arts, Design, Entertainment, Sports, and Media Occupations | 10.23 | 1.39 | 7.37 |
25 Educational Instruction and Library Occupations | 9.28 | 5.76 | 1.61 |
43 Office and Administrative Support Occupations | 7.83 | 12.20 | 0.64 |
19 Life, Physical, and Social Science Occupations | 6.35 | 0.91 | 6.94 |
13 Business and Financial Operations Occupations | 5.90 | 6.64 | 0.89 |
17 Architecture and Engineering Occupations | 4.49 | 1.67 | 2.69 |
11 Management Occupations | 4.46 | 6.91 | 0.65 |
51 Production Occupations | 2.92 | 5.78 | 0.51 |
29 Healthcare Practitioners and Technical Occupations | 2.57 | 6.11 | 0.42 |
41 Sales and Related Occupations | 2.26 | 8.81 | 0.26 |
21 Community and Social Service Occupations | 2.06 | 1.59 | 1.30 |
23 Legal Occupations | 0.89 | 0.82 | 1.09 |
49 Installation, Maintenance, and Repair Occupations | 0.72 | 3.94 | 0.18 |
35 Food Preparation and Serving Related Occupations | 0.53 | 8.72 | 0.06 |
39 Personal Care and Service Occupations | 0.46 | 2.00 | 0.23 |
47 Construction and Extraction Occupations | 0.42 | 4.10 | 0.10 |
33 Protective Service Occupations | 0.38 | 2.31 | 0.16 |
53 Transportation and Material Moving Occupations | 0.28 | 9.06 | 0.03 |
31 Healthcare Support Occupations | 0.27 | 4.65 | 0.06 |
37 Building and Grounds Cleaning and Maintenance Occupations | 0.10 | 2.92 | 0.03 |
45 Farming, Fishing, and Forestry Occupations | 0.07 | 0.28 | 0.26 |
Download: major_groups_claude_usage.csv. Anthropic states that computer and mathematical tasks are 37.2% of queries (Anthropic: The Anthropic Economic Index (read 2026-10-18)). Our figure for that group is 37.05%. We did not reconcile the 0.15-point gap.
What the numbers say
- One group dominates. Computer and mathematical occupations take 37.05% of conversations and hold 3.41% of US jobs, a ratio of 10.87. Mapped to departments, IT, software and data is 37.18%, the largest by 26 points.
- Arts, design and media is second. Arts, design, entertainment, sports and media occupations take 10.23% against 1.39% of jobs (ratio 7.37). In our department table, Marketing, media and creative is 11.18%. Its largest single task is editing copy for readability, which is 1.004% of all conversations.
- Sales, management and office support are under-represented. Sales and related occupations are 2.26% of conversations and 8.81% of jobs (ratio 0.26). Management is 4.46% against 6.91% (0.65). Office and administrative support is 7.83% against 12.20% (0.64).
- Finance, legal and HR are small. Finance and accounting is 3.45%, Legal 0.89%, Human resources 0.22%. HR rests on three occupation codes, so read it as “barely visible in this data”, not as a measure of HR’s real use.
For a rollout, treat the table as a rough guide, not a benchmark. It shows what people in this public sample asked Claude to do. It does not predict your own departments, and it says nothing about whether the use paid off.
Run 2. A planted fault the checks must catch
The same script with the --fault flag changes its input after loading. It duplicates five rows of the task-share file and adds one occupation code, 99-9999.00, that no department prefix covers. Nothing about the source files changes; the faults are made in memory. The script must say so and refuse to write a CSV.
Checks [PASS] shares sum to 100%: departments total 100.000000% [FAIL] mapping rows match the source file: 3519 rows loaded, 3514 in the source file [FAIL] no duplicate task in the mapping file: 5 duplicated task name(s) [PASS] every task's share is spread in full: largest gap between a task's share and what its occupations received: 4.16e-17 [PASS] every department prefix matches a real code: all prefixes used [FAIL] every occupation code maps to a department: 974 of 975 codes mapped, 1 unmapped [PASS] tasks with no occupation are only the recorded 'none': 1 task(s) without an occupation, carrying 0.4816% of conversations
Three of the seven checks failed: the row count (3,519 loaded against 3,514 in the source), the duplicate task names, and the unmapped occupation code. The script exited with code 1 and wrote no CSV (its last line read 3 CHECK(S) FAILED: no CSV written). The sum-to-100% check still passed, because a duplicated task halves each copy’s weight when the share is split, so the total stays at 100%. That is why the script does not rely on one check.
Limits
- This is not a client result and not an enterprise result. It describes Anthropic’s published sample of Claude.ai Free and Pro conversations. API, Team and Enterprise usage is excluded (Anthropic (read 2026-10-18)). Companies that roll out Claude to chosen departments may look nothing like it.
- It is an old snapshot. The release is dated 2025-02-10. The dataset card lists later releases, which we did not use, so the picture may have moved.
- Occupation is not department. A person in a Marketing department may hold an occupation we map elsewhere, and the reverse. The mapping table is our judgment. Change it and the department shares change.
- The equal split is a choice. Many tasks are listed by dozens of occupations. For example, the largest “Other occupations” task is a generic program-modification task, which the equal split spreads across occupations outside IT. Another split rule would move shares between departments.
- Conversations are not outcomes. The data counts what people asked Claude to do. It does not say whether the answer was used, whether time was saved or whether the work was better.
- Coarse by construction. Departments are inferred from O*NET occupations, not recorded. HR is three occupation codes. The shares are rounded in the CSV to two decimals.
- We took Anthropic’s mapping as given. We did not check how well each conversation was matched to its task.
Tested on
Tested on
- Platform
- DuckDB 1.5.6, run from Python 3
- Edition
- Open-source DuckDB library (
pip install duckdb) - Date
- 2026-10-18
- Dataset
- Anthropic Economic Index, folder
release_2025_02_10, commit4e5f69fab13a9c3f7d0dcc31a6f893a9818738f6. License per the dataset card: CC-BY for the data, MIT for code. huggingface.co/datasets/Anthropic/EconomicIndex - Code
- departments_claude_usage.py
- Result
- departments_claude_usage.csv, major_groups_claude_usage.csv
The script pins the commit, sorts every output and uses no random numbers, so another run on the same files gives the same numbers.
When this is not enough
- You need your own departments. Public occupation data cannot tell you what your Finance team does with Claude. Claude’s own usage analytics for Team and Enterprise plans cover who is active, with a Members view, a Groups view, spend reports you can export and an analytics API. Its help article does not describe a breakdown by department, and it is silent on what the work was about (Claude Help Center: usage analytics for Team and Enterprise plans (read 2026-10-18)).
- You need to know whether it pays off. Conversation counts show adoption, not value. Deciding that needs a before-and-after on a measure your department already tracks, which no public file holds.
- You need a current picture. This is one release. Rerun the script on a newer release folder if its file names match, and check the result against the seven built-in checks.
See how your own people use Claude.
Public data shows what people use Claude for in general. It can’t tell you what your own people do with it.
Control Tower for Claude shows adoption, use cases, cost and governance across your organization. To split by department, it uses an HR file that lists each employee and their department.