THE WIN-LOSS CARD · why deals are won and lost, from the deals
WAKES WHEN someone asks why deals are lost, what the win rate is, or how to run a loss review
THE LOOP
winloss.py new · closed deals, one a row
report · rate, interval, reasons, cycle
interview · lost deals, within two weeks
replace the rep's reason with the buyer's
report again; thirty deals before a rate
NEVER
Read a win rate without its interval
Let the rep interview their own lost deal
Treat the rep's reason as the buyer's
IT MAKES new — the sheet (example rows); report — win rate with intervals, loss reasons, cycle length; interview — the interview script for that deal.
THE STANDARD the reason is the buyer's, not the rep's; a rate travels with its interval; someone else interviews; within two weeks; wins are interviewed too; thirty deals before a trend.
PROOF SELFTEST 13/13 · witnessed in Claude 2026-10-09 · Edition 1.
THE SEAL 98 of 100 · LEGENDARY · WITNESSED · Trigger 5 · Machinery 5 · Law 5 · Portability 5 · Proof 5
IT CAN BE WRONG an AI reading a text file: it can be wrong and can invent a number, a rule, a name or a date; check what matters against your own records and the source; the risk is yours. THE-CLAUSES.md rides in the packet and is part of the licence.
THE PUNCH · SHA-256 OF SKILL.MD · 0973270DB2E04B087E1605FB
CITE THIS CARDTHE WIN-LOSS CARD, Edition 1. Lund Studio LLC, Westminster, Colorado. https://lundr.tech/?view=win-loss-card. Punch 0973270DB2E04B087E1605FB. Retrieved 2026-10-10.
What it is.
Reports why sales deals are won and lost from the closed deals themselves — win rate with a 95% interval overall and by segment, owner, competitor or source, the loss reasons ranked, the win reasons, the cycle length of wins against losses, the amounts — and writes the win-loss interview script for any deal so the buyer's reason replaces the rep's.
It carries a machine that shows its working: new — the sheet (example rows); report — win rate with intervals, loss reasons, cycle length; interview — the interview script for that deal — 13 checks in its selftest, every command on the record. It will never read a win rate without its interval; never let the rep interview their own lost deal; never treat the rep's reason as the buyer's.
Six laws, written into the card.
They are in the card itself, so the AI follows them.
THE REASON IS THE BUYER'S, NOT THE REP'SUntil a buyer has said it, the sheet holds a guess; the interview replaces it.
A RATE TRAVELS WITH ITS INTERVALFive of twelve is somewhere between 19% and 68%; the machine prints both ends.
SOMEONE ELSE INTERVIEWSBuyers tell strangers the truth; a rep hears what they can bear.
WITHIN TWO WEEKSWithin two weeks, before the story is polished.
WINS ARE INTERVIEWED TOOWhat nearly stopped them is the next deal's objection.
THIRTY DEALS BEFORE A TRENDUnder that, read the reasons and skip the decimals.
What rides in the card.
In the card’s own voice, with a machine that shows its working.
THE GUIDEreferences/THE-INTERVIEW-RULES.md
THE MACHINEwinloss.py · three commandsnew — the sheet (example rows); report — win rate with intervals, loss reasons, cycle length; interview — the interview script for that deal. Every command prints its working and refuses a bad input; 13 checks in its selftest, every command on the record.
What it does once your AI has it.
new The sheet (example rows)
report Win rate with intervals, loss reasons, cycle length
interview The interview script for that deal
On the record Twelve example closed deals: win rate 5 of 12 with its interval, by segment and by owner, the loss reasons ranked, losses dragging on longer than wins; and the interview script for a deal lost to the incumbent.
What it will never do.
It will never read a win rate without its interval; never let the rep interview their own lost deal; never treat the rep's reason as the buyer's.
A win rate on fewer than thirty deals is a wide interval, and the machine says so. The reason column holds what the rep wrote, which is not always what the buyer thought — the interview is how you find out. Reasons are grouped by exact words, so keep the list short. It is an AI reading a text file: it can be wrong, so check what matters against your own records and the source.
What’s in the buy.
CARD.md — the whole card: who it is, its laws, when it says no, what it carries · SKILL.md — the door your AI reads first · START-HERE.md — the first five minutes, for you
THE-INTERVIEW-RULES.md — the guide in references/, in the card's own voice
scripts/winloss.py — the machine: new · report · interview, standard library only, selftest 13/13
WITNESS.md + SELFTEST.md — every command on the record, as it printed · MANIFEST.md, every file hashed · AUDIT.md, the twelve checks
MY-LEDGER.md — the card's memory, on your own machine · TIN.md · LICENSE-NOTE.md · THE-CLAUSES.md · HOSTS.md
card.svg + card-machine.svg + card.json · card.html, the card as one offline file · the doors for ChatGPT, Gemini, Cursor, Claude Code and MCP hosts (rules/, system/, mcp/)
PROOF · SELFTEST 13/13 · 3 COMMANDS ON THE RECORD · WITNESSED IN CLAUDE 2026-10-09 · EDITION 1 · PUNCH 0973270DB2E04B087E1605FB
ON EVERY DOOR · A CARD FOR YOUR AI, A FILE FOR YOUR COMPUTER
In Claude: turn on code execution under Settings › Capabilities, then Customize › Skills › + › Create skill, and upload the zip as it is — START-HERE.md in the box walks you through it, and tells you how to keep the ledger. In ChatGPT, Gemini and the rest: a Project, a GPT or a Gem with the card’s files attached and the short door in the box pasted as its instructions. The words run anywhere an AI reads Markdown; the machines run wherever the host runs Python. Witnessed in Claude only. The host marks →
Take it.
Nº 844 PROPOSED — LAUNCHING SOON
Sold as is under the term printed. A card instructs an AI you operate; results depend on your model, your files and your judgement. Not medical, legal, tax or financial advice, never the person’s boss, and not a licence to practise. The terms →
One payment. The file is yours to keep and keeps working at its edition; new editions issued in the year after you buy reach you by email as replacement files. Tax is added at checkout where it applies. Nothing auto-renews.
A TERM, NOT A SUBSCRIPTION: NOTHING RENEWS ITSELF AND NOBODY IS CHARGED AGAIN. WHEN A TERM ENDS THE FILES STAY ON YOUR COMPUTER AND STAY READABLE — FREEZE, NOT LOSS.
THE MACHINE · IN THE OPEN · FROM THE WITNESSED RUN OF 2026-10-09
winloss.py, every command showing its working.
A small Python program, standard library only. Your AI runs it; you can too. Every block below is pasted from the card’s own WITNESS.md, as printed.
new
the sheet (example rows)
report
win rate with intervals, loss reasons, cycle length
interview
the interview script for that deal
selftest
13 checks that prove the machine; it must print 13/13
new · THE SHEET (EXAMPLE ROWS)
$ python3 scripts/winloss.py new closed.csv
sheet written · closed.csv · 12 example closed deals (invented) · replace them with your own
report · WIN RATE WITH INTERVALS, LOSS REASONS, CYCLE LENGTH
$ python3 scripts/winloss.py report closed.csv
WIN-LOSS · 12 closed deals · win rate 5/12 = 42% (95% 19–68%)
NOTE · under 30 deals the interval is wide: read the reasons, not the decimals
BY SEGMENT
mid-market 3/5 = 60% (95% 23–88%)
small 2/4 = 50% (95% 15–85%)
enterprise 0/3 = 0% (95% 0–56%)
LOSS REASONS · 7 lost
price 2 (29% of losses)
no decision 2 (29% of losses)
chose incumbent 1 (14% of losses)
missing feature 1 (14% of losses)
timing 1 (14% of losses)
WIN REASONS · won on fit 3 · won on service 1 · won on price 1
CYCLE · won median 70 days · lost median 82 days · losses drag on longer than wins
AMOUNT · won USD 172,000 · lost USD 530,000
report · WIN RATE WITH INTERVALS, LOSS REASONS, CYCLE LENGTH
$ python3 scripts/winloss.py report closed.csv --by owner
WIN-LOSS · 12 closed deals · win rate 5/12 = 42% (95% 19–68%)
NOTE · under 30 deals the interval is wide: read the reasons, not the decimals
BY OWNER
Rep A 2/4 = 50% (95% 15–85%)
Rep B 2/4 = 50% (95% 15–85%)
Rep C 1/4 = 25% (95% 5–70%)
LOSS REASONS · 7 lost
price 2 (29% of losses)
no decision 2 (29% of losses)
chose incumbent 1 (14% of losses)
missing feature 1 (14% of losses)
timing 1 (14% of losses)
WIN REASONS · won on fit 3 · won on service 1 · won on price 1
CYCLE · won median 70 days · lost median 82 days · losses drag on longer than wins
AMOUNT · won USD 172,000 · lost USD 530,000
$ head -8 interview-deal-05.md
# Win-loss interview · Deal 05 (example) · LOST · reason on file: chose incumbent
Ask a person who was in the decision, not the champion alone. Twenty minutes. Listen; do not sell. Write their words.
1. Walk me through how the decision was made — who was in the room, and what mattered most to each of them?
2. What was the problem you were trying to solve, in your words? Did it get solved?
3. What did we do well? What did we do badly, or late?
4. What did the option you chose do that we did not? Was it the product, the price, the people, or the timing?
THE NUMBERS, NAMES AND DATES IN THESE RUNS ARE THE STUDIO’S OWN EXAMPLES, INVENTED FOR THE RECORD; NO REAL COMPANY, PERSON OR PROPERTY IS NAMED.
QUESTIONS AT THE TABLE
Asked before the wire.
What does it need from me?
Winloss.py new · closed deals, one a row. It asks first for the closed deals with outcome, reason, segment, owner, competitor, source, amount and dates — and which lost deals can still be interviewed.
Does it send anything anywhere?
No. The machine is a standard-library Python program that runs on your own computer and sends nothing anywhere; the words run wherever an AI reads Markdown. No server, no account, no key.
What is on the record?
The self-test (13/13) and every command run on real example inputs, pasted into WITNESS.md as they printed; the punch on the face is the SHA-256 of SKILL.md, so a downloaded copy can be checked against this room.
Can it be wrong?
Yes — it is an AI reading a text file. A win rate on fewer than thirty deals is a wide interval, and the machine says so. The reason column holds what the rep wrote, which is not always what the buyer thought — the interview is how you find out. Reasons are grouped by exact words, so keep the list short.
What will it never do?
It will never read a win rate without its interval; never let the rep interview their own lost deal; never treat the rep's reason as the buyer's.