The standard advice for closed-lost reasons is a controlled picklist, not free text, and it isn't wrong on its own terms. Trailhead's own competitor-tracking guidance recommends a picklist specifically because free text produces variants that are painful to group later: a rep typing Price, Pricing, Too expensive, and Budget issue for one real reason. The trade a picklist makes is coarseness. Reps click whichever value is fastest at the end of a long deal, and the value absorbing everything else, usually No Decision, Timing, or Other, quietly becomes the board's largest bucket.
This pack does the grouping a picklist exists to avoid doing by hand, but from the free text already in your CRM: call notes, last-activity logs, whatever a rep typed. It reads every deal in the board's largest catch-all bucket, clusters the recurring situations reps actually described, and requires five deals behind a new category before it counts. Then it runs a pass a taxonomy alone skips: searching the full closed set, won and lost, for each category's language appearing before the deal closed, to find which ones predict rather than just describe.
On a worked run for Fenwright CRM Solutions, a B2B SaaS company, No Decision / Timing held 52 of 142 closed-lost deals, 36.6% of losses. Reading the free text split it into four situations, the largest being 18 deals where a champion left or the buying org reorganized. Deals carrying that language in the notes before close won at 10%, against a 40.3% baseline, worth a mid-deal flag, not a line in a quarterly report. The pack pairs with reweighting a forecast by rule-scored deal quality and finding which rep behaviors already caused a miss.