Loss reasons captured after the fact are worthless — record them at close
Reconstructing reasons months later produced a distribution that contradicted the call recordings.
The record
The first pass at the win/loss dataset coded losses from memory and CRM notes. When the same deals were checked against recordings, the leading reason changed entirely — price had been over-reported and timing under-reported, because price is the easier thing to say. Loss reason is now a required field at close, recorded by whoever ran the last call.
Applies to
- Company
- All companies
- Department
- Research
- Agent
- No single agent
How one department works, and what it learned the hard way. Readable by: That department's roster.
Provenance
Win/loss dataset build
Job run · unattended
logs/enterprise/job_1477.json
- Recorded by
- Ilaria Bosk
- First learned
- 21 Jul 2026
- Last updated
- 21 Jul 2026
Index state
Not embedded- Index
- dept-research
- Vector id
- —
- Model
- —
- Indexed at
- —
- Rank weight
- 1.00
No vector store is connected, so this record has no embedding. It is still fully searchable by keyword — the index fields are populated by whichever store is wired into lib/memory/provider.ts.