Celebrating 25 years of DDD's Excellence and Social Impact.
TABLE OF CONTENTS
    shutterstock 2646262423

    Why AI Pilots Fail to Scale: How to Design a Pilot That Proves the Operation, Not Just the Model

    Kevin Sahotsky

    Here’s the pattern I see over and over: a team runs an AI pilot, the demo impresses everyone, leadership approves the production budget, and six months later the project is quietly stalled. Nobody can point to a single thing that broke. The model is the same model that aced the pilot. The use case hasn’t changed. And yet the thing that worked in the conference room doesn’t work in the business.

    Our teams run LLM output validation for several of the leading model builders and deliver 3D and 4D annotation for some of the largest autonomy and mapping programs in the world. The pattern below comes from that vantage point, watching pilots succeed and stall across many programs rather than one.

    Gartner found that at least half of GenAI projects were abandoned after proof of concept by the end of 2025, with poor data quality listed first among the causes. IDC, in research with Lenovo, put the conversion problem more starkly: for every 33 proofs of concept a company launched, only four reached production. The exact rate varies by study and by how each one defines success. The pattern does not. Most pilots do not become production systems, and the reasons are consistent enough to design around.

    The convenient explanation is that the technology was overhyped. The more useful explanation, in most of the failures I have seen up close, is that the pilot ran on a dataset, and production needs a data operation. Those are different things, and teams consistently budget for the first and not the second.

    That is a diagnosis rather than a plan, and it points somewhere more actionable than it first appears. The pilot is not the problem. Pilot design is the variable. A pilot built to answer one question, can this work, tells you very little about whether the operation behind it can hold. A pilot built to answer both questions costs marginally more and changes the production decision entirely. This article breaks down the six operational gaps between proof-of-concept and production, and for each one, what a pilot can do to answer it before the production budget is written.

    Key Takeaways

    • Gartner’s first-listed cause of post-PoC abandonment is poor data quality. MIT’s research points to flawed enterprise integration and tools that do not learn from workflows, rather than model quality. Neither is a model problem, and neither is discovered by a pilot designed only to demonstrate a model.
    • A pilot runs on a dataset. Production runs on a data operation. The dataset is a static artifact that was hand-curated once. The data operation is a continuous pipeline with QA, edge case handling, drift monitoring, and throughput commitments. Teams that budget for the first and not the second stall at exactly the moment scaling begins.
    • The six gaps are predictable: data volume, quality assurance at scale, edge case coverage, drift monitoring, annotation throughput, and production feedback loops. They are invisible in a typical pilot because the pilot’s conditions were designed to avoid them. They are not invisible in a well-designed one, and that difference is a choice made at scoping.
    • The pilot dataset was clean because someone cleaned it. The most common silent assumption in pilot planning is that production data will look like pilot data. It will not, and the gap between hand-curated pilot data and messy production data is the single most common technical cause of the performance drop teams see at rollout.
    • The fix is to make the data operation a pilot deliverable rather than a post-approval detail. In practice, that means closing the feedback loop once at pilot scale, writing annotation guidelines someone outside the team could follow, and building a real evaluation set before the production decision, rather than describing all three in a plan.

    A Pilot Answers One Question. Production Asks Two.

    A pilot is an argument. Its job is to demonstrate that a use case is viable, and everything about how pilots get built reflects that job. The data is hand-selected and hand-cleaned. The edge cases are excluded, deliberately or by the natural bias of choosing examples that showcase the capability. The evaluation is run once, on a held-out set that came from the same distribution as the training data. The whole exercise is optimized to answer one question: can this work?

    Production answers a different question: does this keep working, on data nobody curated, at a volume nobody hand-checks, under conditions that shift over time? That’s not a bigger version of the pilot question. It’s a different question with different infrastructure requirements, and the infrastructure it requires is a data operation. When teams describe a pilot that ‘worked’ and a production rollout that ‘didn’t,’ what almost always changed between the two isn’t the model. It’s that the protective conditions of the pilot were removed, and nothing was built to replace them.

    The useful conclusion is not that pilots mislead. It is that a pilot answering only the first question is being asked to support a decision it was never designed to inform. A pilot can answer both. Doing so requires deciding at the scoping stage that the operation is part of what gets proven, and the six gaps below are where that decision gets made.

    The Six Gaps Between Proof-of-Concept and Production

    Gap 1: Data Volume

    A pilot typically runs on hundreds to a few thousand carefully selected examples. Production consumes orders of magnitude more, continuously. The gap isn’t just quantity. It’s that pilot-scale data can be assembled by a couple of engineers over a few weeks, while production-scale data requires sourcing, licensing, or collection, processing, and validation as an ongoing function. One anonymized example from a program I followed closely: the pilot dataset was scoped and assembled in roughly three engineer-weeks. 

    When the same team scoped the production data requirement for the identical use case, the estimate came back at seven months of elapsed time and a recurring annual data budget larger than the entire pilot had cost, and that line item had appeared nowhere in the approved production plan. The numbers are illustrative of the pattern, not a universal ratio, but the order-of-magnitude jump is what teams consistently fail to anticipate.

    What can a pilot do about it? Produce the sourcing plan as a pilot deliverable. Where does production volume come from, what does it cost per unit at scale, and what is the lead time to first delivery? This is a document rather than an infrastructure build, and it costs days. Its absence is what turns the production budget conversation into a surprise.

    Gap 2: Quality Assurance at Scale

    In the pilot, quality assurance was someone looking at the data. That works at pilot volume and fails at production volume, where nobody can look at everything and the question becomes statistical: what sampling rate, what error tolerance, what escalation path when quality drops. A production QA design specifies review tiers calibrated to risk, measures inter-annotator agreement continuously rather than once, and treats a quality drop as an operational alert rather than a discovery made weeks later. None of this exists in a typical pilot, because at pilot scale it isn’t needed.

    The instinct when quality is inconsistent is to add another review layer. That is usually the wrong fix. Across the pilots we have worked on, the strongest predictor of whether quality holds at production scale is not how much QC gets stacked on top. It is how many rounds the guidelines went through before the pilot started: deliberate sprints where annotators surface the questions the instructions did not answer, and the instructions get rewritten until the questions stop coming. Adding QA volume to a vague guideline does not fix the guideline. It just catches the same disagreement later, and at a higher cost.

    What can a pilot do about it? Label a subset twice, with two different annotators, and measure the agreement. That single number tells you whether the guidelines are specific enough to survive being handed to someone else, and it is the input the production QA design is built from. A pilot with one annotator cannot produce it, which is why so few pilots do. A low number is not primarily a call for more reviewers. It is a call for another guideline iteration.

    Gap 3: Edge Case Coverage

    Pilot datasets systematically exclude edge cases, and the exclusion is usually invisible because it happened at selection time. The pilot examples were the clear ones. Production traffic includes the ambiguous document formats, the rare-but-costly failure modes, and the inputs from user populations the pilot data never sampled. A model that performed well on the pilot set can drop sharply in production, not because it degraded but because production finally showed it the cases the pilot never did. Closing this gap requires deliberate edge case collection and annotation, which is a data program in its own right, not something a model update can substitute for.

    What can a pilot do about it? Deliberately include a hard subset. Set aside part of the pilot budget for cases chosen because they are difficult rather than because they are representative, and report performance on that subset separately. The headline accuracy number will look worse. The production forecast will be far more accurate, and the distance between the two numbers is the best available estimate of the edge case gap.

    Gap 4: Drift Monitoring

    The pilot was evaluated once, at a single point in time, against data from a single period. Production data shifts: user behavior changes, upstream systems get updated, document formats evolve, seasonal patterns cycle through. Without drift monitoring, the first sign of distribution shift is a business metric declining weeks after the shift began. A production data operation instruments the input distribution and model performance continuously, defines thresholds that trigger investigation, and maintains the labeled evaluation sets that make performance measurement possible on an ongoing basis. The evaluation sets are the part teams most often skip, and without them, drift monitoring is just guessing with dashboards.

    What can a pilot do about it? Build the evaluation set. Not the monitoring infrastructure, which can wait, but the labeled, documented, representative set that all future measurement runs against. It is the cheapest item on this list to produce during a pilot and the most expensive to reconstruct afterward, because by then the data has already shifted and there is no clean baseline to shift from.

    Gap 5: Annotation Throughput

    The pilot’s labels were produced by whoever was available, often the data scientists themselves. That approach has no throughput. Production systems that depend on labeled data for retraining, for evaluation, and for edge case incorporation need annotation capacity with defined turnaround, consistent guidelines, and quality that doesn’t degrade when volume spikes. This is the gap that surprises teams most, because annotation looked free during the pilot. It wasn’t free. It was invisibly subsidized by senior staff doing it themselves at a scale where that was possible.

    The subsidy is the visible half of the problem. The invisible half is that a pilot labeled by one person who already understands the data produces nothing transferable. The guidelines live in that person’s head; the handling time reflects someone working with full context on clean inputs, and there is no agreement baseline because there was only one annotator. The production question is not whether anyone bought capacity. It is whether the pilot produced anything that capacity could be built from.

    What can a pilot do about it? Have someone outside the core team label a sample against written guidelines, and measure how long it takes them. That number, rather than the data scientist’s number, is the one production planning should use.

    Gap 6: Production Feedback Loops

    The highest-performing production AI systems improve after deployment because they capture production failures, route them through annotation, and feed them back into training and evaluation. That loop is what MIT’s research identifies as the core differentiator: the pilots that stall are the ones built on tools that cannot retain feedback or improve over time. The loop doesn’t build itself. It requires the pipeline infrastructure to capture production cases, the annotation capacity to label them, and the evaluation discipline to verify that each retraining actually improved the metric that matters. Every piece of that is data operations.

    The loop does not have to wait for production. Running it once during the pilot is the single most informative thing a pilot can do, and it is cheap at pilot volume. Capture the cases the model got wrong, label them, retrain, and measure whether the metric moved. A pilot that has closed the loop once has demonstrated the production mechanism rather than just the model, and that is a far better predictor of what happens after launch than any accuracy number. A pilot that has never closed it is asking production to take the most important part on faith.

    Why Teams Miss This at Budgeting Time

    The pilot budget bought a model and a demo. The production budget typically bought compute, integration engineering, and licenses, and assumed the data would take care of itself because during the pilot it seemed to. That assumption is the single most expensive line item nobody writes down.

    The reason it survives budgeting is that data operations don’t map to a familiar cost category. Model development looks like R&D. Integration looks like engineering. Data operations look like, depending on who’s reading the budget, either a rounding error or someone else’s job. The programs that scale treat it as what it is: the operational core of a production AI system, scoped and staffed with the same seriousness as the model work. The place to establish that is the pilot, because the pilot is what the production budget gets built from.

    What DDD Brings as a Pilot Partner

    Clients arrive at a pilot from very different starting points. Some show up with fully developed annotation guidelines and an RFP that already answers most of the six gaps above; our job there is mostly validation and stress-testing against hard cases. Others are using the pilot itself to figure out what “good” looks like for their use case, and the guidelines get written as the pilot runs. We see both regularly, and we don’t force either one into the other’s process. A partner who insists on the same rigid workflow regardless of which starting point they’re facing is optimizing for their own delivery convenience, not the client’s actual problem.

    That range is exactly why we try to be advisory, not just executional. Clients don’t always know what they don’t know. It’s just what happens when you’ve only run your own program. Working across many clients, datasets, and scenarios inside the same domain means we see patterns no single client sees from inside their own pilot: a labeling ambiguity two other programs already fought through, an edge case category a client’s own guidelines never anticipated. When we spot one of those gaps, we raise it before the client asks, rather than annotating exactly what was specified and letting the gap surface in production instead.

    The limit of that advice is worth stating plainly: no two clients are the same, even inside the same industry. Hand two competing autonomy programs the identical driving scenario, and the guidelines we hand back shouldn’t match, because the models behind them are different: different sensor stacks, different failure tolerances, different edge cases they’re already weak on. What sharpens one client’s model can measurably degrade another’s, even when the raw footage looks identical on screen. So we don’t template. Advice earned on one program gets reapplied to the next, never copied over.

    In practice, three things carry most of that weight. We build the evaluation set first, because it’s the cheapest thing to produce during a pilot and the most expensive to reconstruct once the data has moved on. We close the feedback loop once during the pilot, so the production mechanism is proven before the budget gets written, not assumed. And we put a real number behind annotation and sourcing, measured on people who didn’t build the model, so production planning isn’t working from a subsidized estimate. Everything else in the six gaps above builds on those three.

    If your pilot hasn’t answered these questions yet, that’s the conversation worth having before the production budget gets written. Talk to an expert.

    Conclusion

    The pilot-to-production failure rate is not a verdict on AI. It is a verdict on how programs get scoped. The programs that stall and the programs that scale are mostly running comparable models. What separates them is the data operation: production-scale sourcing, QA that holds at volume, deliberate edge case coverage, drift monitoring against maintained evaluation sets, annotation throughput, and a feedback loop that turns production failures into training signal.

    None of that is glamorous, which is exactly why it gets skipped, and skipping it is why the demo that impressed everyone becomes the project nobody mentions. The encouraging part is that none of it has to wait for production. Every one of the six can be partly answered during the pilot, at pilot cost, by a team that decided at scoping to answer it. So here is the one-question test, and it applies before the pilot starts rather than after it ends: does this pilot prove the model, or does it prove the operation? If it only proves the model, it will be asked to support a decision it cannot inform. If it proves both, the production budget writes itself.

    References

    Challapally, A., Pease, C., Raskar, R., & Chari, P. (2025). The GenAI divide: State of AI in business 2025 (preliminary findings). MIT Project NANDA. https://nanda.media.mit.edu/ai_report_2025.pdf

    Gartner. (2026). Why half of GenAI projects fail: Avoid these 5 common mistakes. https://www.gartner.com/en/articles/genai-project-failure

    IDC and Lenovo. (2025). Cited in CIO, 88% of AI pilots fail to reach production. https://www.cio.com/article/3850763/88-of-ai-pilots-fail-to-reach-production-but-thats-not-all-on-it.html

    Frequently Asked Questions

    Q1. Our pilot hit 94 percent accuracy. Doesn’t that prove the model is production-ready?

    It proves the model is pilot-ready. The 94 percent was measured on data drawn from the same curated distribution the model was trained on, with edge cases excluded at selection time and quality assured by hand. Production traffic comes from a broader, messier, shifting distribution that the pilot never sampled. The accuracy number that matters is the one measured on representative production data, including the ambiguous and rare cases, and most pilots have never produced that number because the evaluation set to measure it doesn’t exist yet. Building that evaluation set is one of the first deliverables of a production data operation. It is also far cheaper to build that evaluation set during the pilot than to reconstruct it afterward.

    Q2. We can’t afford to build a full data operation before we’ve proven ROI. Isn’t that backwards?

    You don’t need the full operation before the pilot. You need the operation scoped during the pilot, so the production budget reflects reality and the conversion plan exists before approval. The failure pattern isn’t teams that piloted cheaply. It’s teams that piloted cheaply, got approval based on pilot economics, and then discovered the production data requirements after the budget was locked. A one-page data operations plan produced alongside the pilot, covering volume sources, QA design, annotation capacity, and evaluation set maintenance, costs almost nothing and is the single highest-leverage document in the conversion decision.

    Q3. Can’t we automate the QA and annotation instead of building ongoing capacity?

    Partially, and the successful programs do. Automated QA handles the high-confidence majority; the design question is what happens to the rest. Automated checks can’t adjudicate ambiguous cases, can’t label novel edge cases the model has never seen, and can’t produce the human-verified evaluation sets that drift monitoring depends on. The realistic architecture is confidence-tiered: automation processes what it can validate, and human capacity handles flagged cases, edge case annotation, and evaluation set maintenance. Programs that plan for zero human annotation capacity in production are planning for silent quality decay.

    Q4. How do we know if our stalled project has a data operations problem versus a genuine use case problem?

    Run the six-gap diagnostic in order. If the model performed well on pilot data and degraded on production data, that’s gaps one through three: volume, QA, or edge case coverage. If it performed well at launch and declined over months, that’s gap four, drift. If improvements have stopped shipping because labeling is the bottleneck, that’s gap five. If production failures are observed but never make it back into training, that’s gap six. A genuine use case problem looks different: the model underperformed even on the curated pilot data, or the business metric was never sensitive to the model’s output in the first place. In my experience, the use case problem is the rarer diagnosis, because weak use cases usually die in the pilot, not after it.

    Q5. We are about to start a pilot. What should we do differently?

    Five things, none of which meaningfully change the pilot’s cost or timeline. Write the annotation guidelines down in enough detail that someone outside the team could follow them. Have one of those outside people label a sample, and use their handling time rather than your data scientist’s. Label a subset twice and record the agreement rate. Set aside a deliberately hard subset and report its accuracy separately from the headline number. And close the feedback loop once: capture the failures, label them, retrain, and check whether the metric moved. A pilot that does those five things produces a production forecast instead of a demo, and the conversion decision stops being a leap of faith.

    Q6. What should the first 90 days of closing the gap look like for a stalled program?

    First month: build the representative evaluation set. Sample real production traffic, including the ugly cases, annotate it to a documented guideline, and measure actual production performance against it. This replaces the pilot number with a real number and usually identifies which gaps dominate. Second month: stand up the QA and annotation capacity for the highest-impact gap the evaluation revealed, typically edge case coverage or quality assurance design. Third month: instrument the feedback loop, capturing production failures into an annotation queue and defining the retraining cadence. Ninety days don’t finish the data operation, but they convert the program from stalled to instrumented, and instrumented programs can show progress, which is what keeps production budgets alive.

    Get the Latest in Machine Learning & AI

    Sign up for our newsletter to access thought leadership, data training experiences, and updates in Deep Learning, OCR, NLP, Computer Vision, and other cutting-edge AI technologies.

    Scroll to Top