Alberto Angulo

AI in organizations · Deployment

From a Good Demo to a Working Department

During a demo, its author quietly does six jobs that the audience never sees. A department removes the author, and every one of those jobs still needs doing. Most of the work of deploying AI is finding them and giving each an owner, before a customer or supplier finds them first.

Alberto Angulo11 min read · 19 October 2026

The demo went well. An accounts-payable team in a mid-size company answers about 2,000 supplier emails a month from a shared mailbox: where is my payment, please send the remittance, the purchase order number doesn't match, here are our new bank details. A vendor shows a system that reads each email, works out what kind of request it is and drafts a reply using the supplier's invoice status. On 50 emails picked by the team lead, it gets 47 right. The slide says "about 95%".

Nobody is lying. And the number tells you almost nothing about what will happen in the mailbox.

Ask a different question about that demo: apart from the model, who was doing the work? Someone chose the 50 emails. Someone exported the data so the system could read it. Someone was standing there to smooth over any odd output. The audience wanted it to work. Someone judged the results by eye. And nothing in the world changed between the rehearsal and the showing.

A demo is an experiment run by its author, and the author is silently doing six jobs. A department removes the author. Every one of those jobs still has to be done by someone, and most of the work of deploying AI is finding them and giving each an owner who will still be there in a year.

The case is invented and its numbers are plausible assumptions. The pattern is real: it is how many good pilots become disappointing rollouts.

The cases nobody picked

Start with the 47 out of 50. Two things are wrong with treating it as 95 percent, and the second matters more.

The first is size. A score of 47 out of 50 is consistent with a true rate anywhere from about 84 to about 98 percent: on 2,000 emails, somewhere between roughly 40 and 320 errors a month.

The second is selection, and it only pushes one way. The person picking examples picks the cases the system is meant to handle: the common, clean ones. Real mail has a few request types that dominate, and then a long tail, the many rare types that each show up a dozen times a month and together add up to a lot. A statement of account where the answer sits in an attachment. A question in Portuguese. A thread forwarded four times with the real question buried in the fourth message. A lawyer's letter. An email meant for someone else entirely.

Guess first

The demo scored 47 out of 50, about 95 percent, on emails the team lead picked. Roughly what accuracy would you expect across the whole real mailbox?

Suppose the mailbox holds about 40 distinguishable types. Under a plausible curve, the five most common cover just over half the mail, and the 25 rarest cover about a fifth. The demo's examples all came from the top five. If the system is right 97 percent of the time on those, 90 percent on the middle band and 70 percent on the tail, it is right on about 89 percent of the whole mailbox. That is about 215 errors a month, not 100. And the tail, a fifth of the mail, produces almost two-thirds of the errors.

Accuracy on chosen cases describes the head of the distribution. The department lives on all of it.

The tail is also where an error costs the most. A wrong answer about a routine payment costs a supplier a day. A drafted reply to a request to change bank details is another matter, because that request is the standard shape of payment fraud and belongs with a person who follows a callback procedure. The demo counted every error the same. The department can't.

Where an error can be seen

Every system makes errors, including the human one this replaces. What decides a rollout is where a person gets the chance to see them.

Take the common design. The system flags about a fifth of emails for a person (low confidence, an attachment it can't read, an unknown sender) and handles the other four-fifths on its own. A weekly audit reads a 5 percent sample of the handled ones. Now be generous and assume the demo's 95 percent really holds, so there are 100 errors a month. Assume flagging works reasonably well, so 60 of the errors land among the flagged emails and 40 among the handled ones, and that reviewers catch 85 percent of the errors they see.

Follow the 100 errors through.

First-month error funnel under stated assumptions WHERE THE ERRORS GO IN MONTH ONE, IF THE DEMO'S 95% HELD (ILLUSTRATIVE ASSUMPTIONS BELOW) 2,000 emails in one month Flagged for a person 400 emails (20%) Handled without review 1,600 emails (80%) 51 9 38 60 errors in flagged emails (15%) 40 errors in handled emails (2.5%) Caught in review before the reply goes out (85%) 9 approved by the reviewer and sent wrong 2 found by the weekly audit (5% sample, after the reply was sent) 38 found only when the supplier writes again 53 of 100 errors caught by someone at the department; 47 reach a supplier unnoticed solid outline = caught, dashed outline = unnoticed; 47 is about 2.2 per working day (21 days) Assumed: 20% of emails flagged; 60% of errors fall in flagged emails;reviewers catch 85% of the errors they see; the audit reads 5% of handled emails. At the realistic 89% accuracy (215 errors) the same rules leave about 100 unnoticed.
Even if the demo's 95% held, nearly half of the 100 monthly errors would reach a supplier unnoticed. Illustrative first month for 2,000 emails: 51 errors caught in review and 2 by the audit, while 9 approved in review and 38 in emails nobody read reach suppliers.ComputedSource: Computed from stated assumptions (illustrative); arithmetic in the notes and sources appendix. Not measured data.

Fifty-one are caught in review. Nine get approved by a reviewer and sent anyway. Two turn up in the audit, after the supplier already has the reply. Thirty-eight sit in emails nobody read, and surface only when the supplier writes again, sometimes after acting on the wrong answer.

So 47 errors a month reach a supplier with nobody at the company aware of them. About two every working day. At the more realistic 89 percent, it's about 100.

Look at what made the difference. The 60 errors in flagged emails and the 40 in handled ones were equally wrong. One group was caught at 85 percent and the other at 5 percent. Improving the model a little moves the total. Changing where a person can see the work moves which errors get caught.

Where in the design a person can see an error matters more than how many errors there are.

It gets worse in a way that looks like good news. By week three, reviewers approve 91 percent of flagged drafts without changes. The dashboard celebrates. But if 15 percent of flagged drafts are wrong and reviewers approve 91 percent untouched, they can be catching at most about 60 percent of the wrong ones, not 85. Human-factors researchers call this automation bias: when an automated aid is usually right, people stop checking it properly, and the effect shows up in experts as well as novices and doesn't go away with training or instructions. At 60 percent, unnoticed errors rise from 47 to 62. Lisanne Bainbridge named the irony in 1983: automation leaves the operator the tasks its designers couldn't automate. The person on queue duty spends about 95 minutes a day on the hardest fifth of the mail, and her name is on every reply she approves.

The six jobs the author was doing

Go back to the six jobs and watch each one come due in the first month.

The case mix. The author chose the cases. The department receives all of them. That's the tail above.

Access and integration. The demo ran on an export and a spreadsheet. Production needs read access to the mailbox, a lookup into the ERP (the system of record, the one database the company treats as the truth about invoices and payments) and somewhere for drafts to go. Each is a request to a different owner. Mailbox access arrives on day 8 after a security review, the invoice lookup on day 15. In between, the system drafts replies without invoice status, writing "we are looking into your inquiry" where the demo said "payment is scheduled for the 14th". The team is running a different product from the one it approved (Data Access Is the Real Integration Project).

Exceptions and escalation. The author handled odd outputs on the spot. In the department, every type of email that needs a person (bank-detail changes, legal letters, disputes over amounts) needs a named route: who handles it, how long it may wait, what the supplier sees meanwhile.

Incentives and trust. The audience wanted the demo to work. The clerk on queue duty didn't ask for any of this, and her day just got harder before it got easier. When she says "the flagged ones take me as long as writing them myself", she is giving you a measurement of the design.

Measurement. The author judged by eye. At month end the dashboard shows 80 percent of emails handled automatically and 91 percent of drafts approved unedited. Both numbers measure activity. Neither says whether the department is better off, because nobody recorded a baseline, a measurement of how the work went before the change: how long handling took, how often the human replies were wrong. People make mistakes too. Without that count, the argument is between those who remember the system's worst blunder and those who remember the old backlog.

Count the minutes instead. Review, audit, repairs and upkeep take about half the time the team used to spend in the generous case, two-thirds at the realistic accuracy. Real savings, and far from the dashboard's 80 percent, which counts the emails nobody read.

Ownership and upkeep. The world held still during the demo. In the department, eleven suppliers are onboarded, two change names, and the company moves its weekly payment run from Thursday to Tuesday. Fourteen reply templates mention Thursday and nobody knows which. The system keeps promising Thursday. The model did nothing wrong. This is drift, the slow gap between what a system was set up to know and what is now true, and it happens whenever nobody owns the job of telling the system that something changed.

The capability and the six layers a demo holds fixed CONCEPTUAL: WHAT A DEMO HOLDS FIXED BY HAND, AND WHAT A DEPARTMENT HAS TO SUPPLY The capability (what the demo showed) classify the email, draft the reply One of seven things a working department needs 1 Case mix Demo: 50 chosen examples, the common clean types. Dept: all 40 types, a long tail, the real attachments. 2 Access and integration Demo: exported emails and a spreadsheet of statuses. Dept: scoped mailbox and ERP access, an approved identity. 3 Exceptions and escalation Demo: the presenter handles any odd output on the spot. Dept: a queue, a named handler and a deadline per exception. 4 Incentives and trust Demo: an audience that wants it to work. Dept: reviewers with targets, accountable for what they send. 5 Measurement Demo: judged by eye; no baseline, no error count. Dept: baseline, errors by severity, cost per email. 6 Ownership and upkeep Demo: a frozen world with the builder on call. Dept: a named owner; suppliers, terms and templates change.
Six jobs the demo's author did by hand, which a department has to assign to someone. The real case mix, access and integration, exception routes, incentives and trust, a baseline, and an owner for upkeep, each illustrated with the accounts-payable case.Conceptual illustration

Then a supplier phones: it was promised Thursday, paid Tuesday, and its own payments are now late. The vendor, IT, the team lead and the reviewers each explain why it isn't theirs. The supplier doesn't care. In 2024 a Canadian tribunal held Air Canada responsible for a fare rule its website chatbot got wrong, and dismissed the idea that the chatbot was somehow responsible for its own actions. The amount was small. The principle is the one every department should plan around: the customer deals with the company.

What a better model fixes, and what it doesn't

The obvious objection is that all of this is a capability problem, and next year's model will make it go away.

Some of it, yes. Accuracy on Portuguese emails and attachment tables is largely a question of how good the model is, and it will improve. But access, exception routes, incentives, the baseline and ownership are facts about the organization, and they stay put when the model improves. A better model doesn't grant itself permission to read the ERP, doesn't decide who handles a legal letter and doesn't notice that treasury moved the payment run. An upgrade can even add work, because it changes behavior across every template at once.

There's a simple way to tell which story you're in. Run the system on last month's real mail. If it is close to the demo's accuracy on the common types and the failures cluster in the tail, in permissions and in missing context, the gap is deployment work, and deployment work is what you should be doing. If it is well below the demo even on the common types, the gap is capability, and the right move is to wait or narrow the scope.

"Just iterate in production"

The second objection is the strongest, and it's half right. You can't know the long tail in advance. Analysis before launch has diminishing returns. A small start in the real flow with fast fixes usually beats months of planning, and my advice is never to spend those months.

But whether iterating live is safe depends on what kind of errors it produces. Three properties of a mistake decide it. Is it visible? Thirty-eight of the 100 errors only surfaced when a supplier wrote again. Is it reversible? A misfiled email can be moved; a promised payment date can't be unpromised, and a reply to a fraudulent bank-detail request can't be recalled. How far does it spread? An error that reaches one supplier group is cheaper than one that reaches all of them.

That gives you a better version of "iterate in production". Run the system in shadow mode: it reads live mail and produces its classification and draft, nothing leaves the building, and you compare its output with what your people actually did. A few weeks of that give you the real case mix, a baseline, an exception list and your first test cases, with no supplier exposed to anything. Then roll out in steps with a switch that turns it off (Moving Without Breaking covers the sequence).

Iterate in production, and choose which production.

There's a trust cost too. People lose confidence in a machine faster than in a colleague who makes the same mistake, so a bad first two weeks can leave a team that never agrees to expand.

What I'd do

None of this needs months. Most of it is a week or two, in this order.

Replay last month before launch. Run a month of the real mailbox, attachments and forwarded threads included, through the production path, with the people who did the work labeling what the right answer was. Don't sample at random, or the tail barely shows up; take about 100 cases from the common types, 100 from the middle and 130 from the tail. That's about eight hours of labeling, and it gives you a per-band error rate you can actually believe. Those labeled cases become your first evaluation set, a fixed collection of real cases with known right answers that you rerun whenever anything changes.

Name one owner. One person, with hours in their week for it, who can change the configuration and whom a supplier can reach. Plus a deputy for holidays. This is the job the demo's author was doing, and if nobody holds it, it doesn't happen.

Give every exception a route. From the replay, list the types that need a person and write down who handles each, how fast, and what the supplier sees in the meantime. Bank-detail changes go to a person with a callback procedure, always.

Measure the baseline in the same two weeks: volume, a timed sample of handling, time to first response, and an audit of a couple of hundred past human replies.

Check the checkers. Once live, mix a few known-bad drafts into the review queue and track how many get caught. A catch rate sliding toward 60 percent shows up there weeks before it shows up in supplier complaints. Rotate reviewers, and treat them as the first critics of the design. Their corrections are the best tail cases you'll ever get.

Build the way back first. Drafts are reviewed and not sent automatically for the first weeks, and one switch returns the whole mailbox to manual handling in minutes.

Write down "good enough to expand" before the first live day, while nobody is attached to the results. Something like: no severe error reaches a supplier for four straight weeks, unnoticed errors no more frequent than the human baseline, reviewers catching most of the planted bad drafts, faster first response, and the owner signs. Then expand in steps, the common types first and the tail last.

If the mailbox works, another department will ask for the same thing. The connector, the review screen and the replay habit carry over. The case mix, exceptions, incentives, baseline and owner don't, because they belong to the department. The second demo will look better than the first, since the builders have practiced, and that's exactly when skipping the replay is most tempting.

Check yourself

Why does 47 out of 50 not mean 95 percent on the real mailbox?

The cases were picked from the common, clean types. The rare types in the long tail are a fifth of the mail, handled less well, and produce almost two-thirds of the errors.

Why were the 60 errors in flagged emails and the 40 in handled emails so different in effect?

They were equally wrong, but reviewers caught 85 percent of the first group and the audit caught about 5 percent of the second. Where a person can see the work decides which errors get caught.

Why run the system in shadow mode first?

It reads live mail and produces drafts, but nothing leaves the building. In a few weeks you get the real case mix, a baseline and your first test cases without exposing any supplier.

Notes, sources and method

For readers who want to check the numbers behind From a Good Demo to a Working Department. The accounts-payable case is invented; every number about it is an assumption chosen to be plausible, and the arithmetic is below. Sources were checked on 11 October 2026.

Key numbers

Number in the articleExact valueSource and dateNotes
2,000 supplier emails a month; demo 47 of 50 ("about 95%")AssumedIllustrative
47 of 50 consistent with about 84% to 98%; 40 to 320 errors a monthWilson 95% interval 83.8% to 97.9%; 41 to 324 errors on 2,000ComputedAt 48 of 50 the interval is 86.5% to 98.9%.
40 types; top five just over half the mail; 25 rarest about a fifthHead 53.4%, middle 24.2%, tail 22.4%Computed from an assumed 1/rank curveRank 1 is 23.4%, rank 40 is 0.58%; 17 types under 1% of mail.
97% / 90% / 70% by band; 89% overall; about 215 errors; tail almost two-thirds of errorsBlend 89.2%; errors 32 / 48 / 135 = 215; shares 15% / 22% / 63%ComputedBand accuracies are assumptions; the tail figure is the least certain and the most important.
Funnel: 51 caught in review, 9 sent wrong, 2 by audit, 38 unread; 47 unnoticed; about two a working daySee MethodComputed21 working days a month.
At 89% accuracy, about 100 unnoticed101ComputedKeeps flagging at 20% of mail, which a real system with more errors might not do.
91% approved unedited implies catch rate at most about 60%; unnoticed 47 → 62See MethodComputed
Queue duty: about 19 flagged emails a day, 95 minutes400 ÷ 21 × 5 minutesComputed5 minutes each is assumed.
Mailbox access day 8, invoice lookup day 15AssumedIllustrative
Payment run Thursday to Tuesday; 14 templates; 11 suppliers onboarded, 2 renamedAssumedIllustrative
Dashboard 80% handled automaticallyThe share of emails not flaggedIllustrative
Time saving about half (generous), about a third (realistic)50.7% and 33.1%ComputedSee Method.
Replay: 100 / 100 / 130 cases, about eight hours330 cases at 1.5 minutes = 8.25 hoursComputed
Automation bias in experts and novices, not prevented by training or instructionsReview of empirical studiesParasuraman and Manzey, 2010 [1]Confirmed against the abstract.
Bainbridge 1983Automation leaves the operator the tasks the designer cannot think how to automateBainbridge [2]Paraphrased from the paper.
Air Canada chatbot, 20242024 BCCRT 149, 14 Feb 2024; CA$812.02Civil Resolution Tribunal of British Columbia [4]Small-claims award in one province; the "separate legal entity" position was the tribunal's characterization of the airline's argument (para. 27).
People lose confidence in a machine faster than in a colleagueAlgorithm aversionVia Why People Resist AI at Work, and When They're Right (Dietvorst, Simmons and Massey, 2015)Not re-fetched for this article; the literature is mixed on when it holds.

Method and assumptions

  • Mix. 40 email types with share proportional to 1/rank, normalized by the harmonic number H₄₀ = 4.2785. Head (ranks 1 to 5): 53.4% of mail. Middle (6 to 15): 24.2%. Tail (16 to 40): 22.4%. Rounded shares (53%, 24%, 22%) sum to 99% because of rounding. The curve stands in for a measured count of the real mailbox.
  • Accuracy by band (assumed). Head 97% (consistent with 47 or 48 of 50), middle 90% (emails that depend on an attachment or a thread), tail 70% (languages, disputes, unusual requests). Blended: 0.534 × 0.97 + 0.242 × 0.90 + 0.224 × 0.70 = 89.2%.
  • Funnel at the demo's 95%. 100 errors. 20% of emails flagged (400). 60% of errors in flagged emails (60, a 15% error rate among flagged drafts), 40% in handled (40). Reviewer catch rate 85%: 51 caught, 9 missed. Weekly audit samples 5% of handled emails (80 a month): 2 errors found, 38 not. Unnoticed: 9 + 38 = 47. Wrong replies reaching suppliers: 47 + 2 = 49. Severe fraction assumed 5%: about 2.35 unnoticed severe errors a month.
  • Edit-rate check. 15% wrong × 85% caught = 12.75% of flagged drafts would be edited. A 9% edit rate, even if every edit corrected a real error, implies a catch rate of at most 9 ÷ 15 = 60%. At 60%: 24 missed in review, 24 + 38 = 62 unnoticed.
  • Minutes. Before: 2,000 × 4 = 8,000. After, generous case: review 400 × 5 = 2,000; audit 80 × 3 = 240; repair 49 × 25 = 1,225; upkeep 480; total 3,945 (saving 50.7%). Realistic mix: repair about 105 × 25 = 2,635; total 5,355; saving 33.1%. The 4-, 5-, 3- and 25-minute figures and the 8 hours of upkeep are assumptions.
  • Human baseline illustration (from the previous version). An audit finding 5 of 200 past human replies wrong (2.5%) would mean about 50 errors a month before, roughly a tie with the 49 wrong replies after; the Wilson interval for 5 of 200 is 1.1% to 5.7%, so even that comparison is loose.
  • Replay sizing. Margin = 1.96 × √(p(1−p)/n). A random 300 at p = 0.9 gives ±3.4 points overall but only four or five examples of a 1.5% type (and a 1.1% chance of none). Stratified 100/100/130 at 0.97/0.90/0.70: ±3.3, 5.9 and 7.9 points; reweight by band shares for the overall rate. Cases for ±8 points at p = 0.7: 126. Labeling all 2,000 emails at 1.5 minutes would take 50 hours. Normal approximation, rough near 0% and 100%.
  • Expansion rule (example, a judgment). No severe error reaching a supplier in four consecutive weeks; unnoticed errors no more frequent than the baseline; reviewers catch at least 80% of seeded bad drafts; median time to first response beats the baseline; the owner signs. Expand head types first, then the middle band, and keep the tail with people until the evidence says otherwise.

Caveats and open questions

  • Every number about the AP team is an assumption. The 1/rank curve, band accuracies, flagging concentration (60% of errors among flagged emails) and reviewer catch rate are the weakest parts of the calculation and the first things a real rollout should measure.
  • Capability versus deployment. The strongest competing explanation for the demo-to-department gap is that the system simply isn't good enough on real mail. The replay test in the article distinguishes them. The split between what a better model fixes (tail languages and attachments) and what it doesn't (access, ownership, incentives, measurement, upkeep) is a judgment, not a measured result; it relates to the "walls" in Same Model, Different Results.
  • Iterating in production. The claim that replay, shadow mode and staged rollout make iteration safer is a judgment. The conclusion would change if teams that skipped the replay and shadow stage reached the same reliability and trust at lower total cost; no study comparing the two was found.
  • Drift and maintenance. Google researchers (Sculley et al., 2015) listed changes in the external world and configuration among the sources of "massive ongoing maintenance costs" in real machine learning systems [3].
  • Related pieces. Program sequencing: Designing an AI Program That Ships. Handover: What a Deployment Engineer Should Own, and Leave Behind. Hidden functions behind exceptions: Why the Process Exists. Measurement: Measuring AI Impact Without Fooling Yourself. Step versus job: Where the Saved Time Goes. Evaluation sets: Build an Evaluation From Your Own Work. Reading demos: Demos Fail in Predictable Ways. Pilots that stall: Why Pilots Stall. Scaling decisions: When to Scale, Revise or Stop. Reuse across departments: When Work Starts to Compound. Reversibility: Reversible Work and Irreversible Effects. Tacit exceptions: Most of What a Company Knows Isn't Written Down. Liability: Who Is Responsible When an Agent Acts.

Sources

  1. Parasuraman, R. and Manzey, D. H. Complacency and Bias in Human Use of Automation: An Attentional Integration. Human Factors 52(3), 381–410, 2010. https://doi.org/10.1177/0018720810376055 (automation bias with imperfect aids; novices and experts; not prevented by training or instructions, per the abstract).
  2. Bainbridge, L. Ironies of Automation. Automatica 19(6), 775–779, 1983. https://doi.org/10.1016/0005-1098(83)90046-8
  3. Sculley, D., et al. Hidden Technical Debt in Machine Learning Systems. NIPS 2015. https://papers.nips.cc/paper_files/paper/2015/hash/86df7dcfd896fcaf2674f757a2463eba-Abstract.html
  4. Moffatt v. Air Canada, 2024 BCCRT 149. Civil Resolution Tribunal of British Columbia, Tribunal Member Christopher C. Rivers, 14 February 2024. https://decisions.civilresolutionbc.ca/crt/crtd/en/item/525448/index.do (negligent misrepresentation; separate-legal-entity position rejected, para. 27; CA$812.02 ordered, para. 44).

All writing