CNC job shop quotes, job travelers and customer email, 14 firms
Summary
A decade of how small precision machine shops win and run work: RFQ threads, quote breakdowns, job travelers with routings and operator notes, and the customer email that follows a late or rejected part. Useful for training agents that estimate setups and cycle times, follow a job across operations and outside processing, and draft customer updates. Work for aerospace and defense customers and any export-controlled job are excluded at the source. People, companies, part numbers and dollar amounts are replaced with consistent placeholders.
Collected to order. We collect it from US companies for your order. Scope, volume and timing are confirmed in writing before you sign.
Pricing on request
Request scope and pricingAt a glance
- Planned scope. Volume, sources and timing are confirmed in writing before you sign.
- Records
- 5.6Memails, jobs, quote lines and shop documents
- Size
- 15.5 GB
- Tokens, estimated
- 1.7B
- Years
- 2015 to 2026
- Firms
- 14
- Owner profile
- 14 US CNC machining and fabrication shops, 12 to 85 staff each, Midwest and Great Lakes
- Industry
- Manufacturing
- Data type
- Company operations archive
- Headcount
- 12 to 85 staff per firm
- Region
- United States (Midwest, Great Lakes)
- Languages
- English
- Formats
- JSONL, Parquet
- Updated
Sources
| System | Kind | Records |
|---|---|---|
| Microsoft 365 mail | 4.6M messages | |
| Epicor | Accounting and ERP | 388K jobs, 512K quote lines |
| Shared drives | Shared files | 61K setup sheets and inspection reports |
Good for
- training agents to turn an RFQ email and part description into a routed quote with setups and cycle times
- evaluating whether a model can trace a late job across operations, holds and outside processing
- drafting customer status updates from job traveler history
- extracting materials, tolerances and finish callouts from shop correspondence
Fields
| Field | Type | Description |
|---|---|---|
| record_id | string | Stable id for the record |
| firm_code | string | Pool member code, never the firm name |
| record_type | enum | email, job, quote_line or document |
| job_ref | string | Job number as used on the shop floor |
| created_at | timestamp | When the job or message was created, with UTC offset |
| customer_code | string | Placeholder for the shop's customer |
| material | string | Material, condition and stock form |
| qty | int | Order quantity in pieces |
| routing | array<string> | Operation sequence, work center, step and status |
| notes | string | Operator, quality and scheduling notes on the job |
| thread_id | string | Linked customer email thread |
Example record
{
"record_id": "JB-0418823",
"firm_code": "MCH-07",
"record_type": "job",
"job_ref": "J24-1187",
"created_at": "2024-03-11T07:42:00-05:00",
"customer_code": "[COMPANY_9]",
"material": "17-4 PH stainless, H1150, 1.25 in round bar",
"qty": 240,
"routing": [
"10 SAW-1 cut blanks to 2.10 in, complete",
"20 LATHE-3 face, turn OD, drill thru, complete",
"30 VMC-4 mill flats and cross hole on 4th axis, hold",
"40 OSP passivate per ASTM A967, open",
"50 INSP final inspect and pack, open"
],
"notes": "Hold at op 30. Cross hole reading .0035 off true position on first article, callout is .002. [PERSON_4] re-indicated the fixture and re-ran 3 pcs, all in. Released 13:20. [PERSON_11] emailed [COMPANY_9] a new ship date of 3/19.",
"thread_id": "TH-55021"
}Licenses available
Exclusive
One buyer. Nobody else can license it during the exclusive term, usually 2 years.
Non-exclusive
Licensed to more than one buyer.
First look
One buyer gets 2 to 4 weeks to make an offer before anyone else sees the dataset.
What ships with it
- Datasheet: what it is, what it is good for, verified size, sources, years, format and limits.
- Provenance file: the owner shown by code, staff notice and consent status, exclusions, mapped to the EU AI Act Article 53 training-data summary and California AB 2013.
- Manifest with a hash for every file.
- QC report and de-identification report.
- Your own copy, with unique canary records.
How it is de-identified
Default exclusions removed, files flattened to text, identifiers found in three layers and replaced with consistent placeholders, and the result measured against a 99% bar for each identifier type in each source.