Quote-to-close sales records with win and loss outcomes, 34 firms
Summary
Deal records from 34 US B2B firms of 10 to 120 staff in 9 industries, each joined to the quote emails and follow-ups behind it. Every opportunity keeps its stage history, deal size band, close date and a recorded win or loss with the reason the rep logged, which suits forecasting, next-step drafting and loss analysis with known outcomes. Contact, company and staff names, emails, phone numbers and addresses are replaced with placeholders, and contact records never ship on their own.
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
- 306Kopportunities with linked activity
- Size
- 12 GB
- Tokens, estimated
- 1.3B
- Years
- 2016 to 2026
- Firms
- 34
- Owner profile
- 34 US B2B firms, 10 to 120 staff each, in 9 industries including industrial supply, IT services, signage and commercial cleaning
- Industry
- Multiple industries
- Data type
- Sales and CRM
- Headcount
- 10 to 120 staff per firm
- Region
- United States
- Languages
- English
- Formats
- JSONL, Parquet
- Updated
Sources
| System | Kind | Records |
|---|---|---|
| HubSpot record exports | CRM | 181K deals, 1.4M activities |
| Salesforce | CRM | 125K opportunities, 930K activities |
| Google Workspace mail | 3.5M linked emails |
Good for
- deal outcome forecasting with recorded wins and losses
- training sales agents to draft next steps from deal history
- classifying and analyzing loss reasons
- evaluating long-horizon reasoning over stage history and email
Fields
| Field | Type | Description |
|---|---|---|
| opportunity_id | string | Stable opportunity id |
| firm_code | string | Code of the contributing firm |
| industry | enum | One of 9 industry codes |
| created_at | date | Date the opportunity was opened |
| closed_at | date | Date it closed, won or lost |
| stage_history | array<string> | Stage changes in order, with dates |
| amount_band | enum | Deal size band |
| outcome | enum | won, lost or no_decision |
| loss_reason | string | Reason the rep logged, as written |
| linked_emails | array<string> | Ids of the emails tied to the deal, shipped in the email file |
| activity_count | int | Calls, meetings and tasks logged on the deal |
Example record
{
"opportunity_id": "[OPP_33815]",
"firm_code": "F-09",
"industry": "commercial_cleaning",
"created_at": "2025-01-14",
"closed_at": "2025-03-03",
"stage_history": [
"Walkthrough scheduled 2025-01-14",
"Proposal sent 2025-01-29",
"Revised proposal 2025-02-12",
"Closed lost 2025-03-03"
],
"amount_band": "50K to 100K USD per year",
"outcome": "lost",
"loss_reason": "Incumbent matched our number after seeing our scope. Prospect stayed for continuity.",
"linked_emails": [
"[MSG_120448]",
"[MSG_120502]",
"[MSG_121987]"
],
"activity_count": 14
}Licenses available
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.