One question decides the pricing shape
Every pricing conversation we have turns on a single question: can the work be described precisely enough today that both sides would recognize "done" the same way? When the answer is yes, we quote a fixed price and carry the estimating risk ourselves. When the answer is no, we say so out loud, price a short discovery block that ends in a written scope, and quote the build afterward. We do not fixed-price a fantasy, and we do not bill open-ended hours against a requirement that was already clear on day one.
That sounds obvious. It is rarer than it should be. A large share of stalled AI and data programs we get called into started with a fixed price attached to a requirement nobody could define, or with a time-and-materials arrangement that had no exit criteria and no ceiling. Both failure modes come from the same root cause: the pricing shape did not match how much was actually known at signature.
So we make the knowledge state explicit before we make a number. Below is how that plays out across federal, state, and commercial work, what we charge for discovery and why it stands alone, and the cost driver that outweighs model choice, cloud choice, and team size combined.
How much of the price we can fix at quote time, by what you can hand us
Editorial weighting from our own scoping practice, shown to explain the model. Not a measured statistic.
Fixed scope: what makes a requirement quotable
A requirement is quotable when three things exist. First, an output that can be inspected: a file, an endpoint, a screen, a report, a container image, a signed model artifact. Second, an acceptance test somebody can run without us in the room. Third, a data path that is either open or has a named owner and a date. Give us those three and we will name a number and hold it.
Fixed price means the estimating risk moves to our side of the table. If the ingest takes three weeks instead of two, that is our problem. That is not generosity; it is what the buyer is paying for. A fixed price is partly a price for the work and partly a price for certainty, and firms that pretend otherwise end up issuing change orders for their own optimism.
What we insist on in return is a written acceptance test. Not a feeling, not a demo that goes well, not a stakeholder who is pleased. Something like: "given this held-out file of 4,000 records, the extractor returns the eleven named fields with a false-extraction rate at or below two percent, and every returned value carries a page and span citation." That sentence protects both parties. It tells us when to stop building, and it tells the buyer exactly what a signature is buying.

Time and materials: when discovery honestly comes first
Some work cannot be scoped from outside the building. A twenty-year-old claims system with no schema documentation and three people who remember how it works. A corpus of scanned records where nobody knows the true page count. A research question where the honest answer is that no baseline exists yet and the first job is establishing one. Pretending to fixed-price that kind of work produces either a padded number or a fight in month three.
For that class of work we run time and materials against a ceiling and a set of exit criteria written before the first hour is billed. The ceiling is real. We stop at it and come back with what we learned rather than asking for more. In our experience the discipline of a hard ceiling does more for a project than any status report: it forces the team to answer the expensive questions early, because there is no room to answer them late.
Federal buyers already know the posture here. FAR 16.601(c) names time-and-materials the least preferred contract type, usable only when no other type is suitable, and FAR 16.601(d) requires a determination and findings plus a ceiling price the contractor exceeds at its own risk. We treat that as a good rule rather than a hurdle, and we apply the same logic on commercial work where no FAR clause compels it.
| Shape | We use it when | What the buyer carries |
|---|---|---|
| Firm fixed price | Output, acceptance test, and data path are all named at signature | Nothing on estimating risk. Schedule risk only where the buyer owns an input |
| Fixed-price discovery block | The requirement is real but undescribed; the deliverable is the scope itself | A known, small, capped amount for a written answer |
| Time and materials with ceiling | Legacy archaeology, unquantified corpora, genuinely open research | Hours up to the ceiling, with weekly burn visible and exit criteria fixed |
| Fixed base plus priced options | Phase one is clear, later phases depend on what phase one finds | Only the base until an option is exercised in writing |
| Retained bench | An integrator or prime needs named AI and data engineers on call | A monthly reservation with a stated minimum draw and named people |
Why discovery is priced separately
Discovery is its own product with its own deliverable, so it gets its own price. Bundling it into a build contract does two bad things. It hides the cost of learning inside a number that is supposed to represent construction, and it makes the buyer captive to whoever ran the discovery. Priced separately, discovery is portable. The written scope belongs to the client and can be handed to any competent shop, including one that is not us.
Our discovery block ends in four artifacts: a written statement of work at the level of detail a competitor could bid against, an acceptance test with a target number in it, a data readiness assessment naming every blocker and who owns it, and a fixed price for the build with a stated validity window. Firms sometimes take that package and build internally. That is a fine outcome. It is still a better outcome than a nine-month build that was priced before anyone opened the data.
There is a second reason to separate discovery, and federal buyers feel it first. Under FAR 15.404-1 a contracting officer has to perform price or cost analysis to establish that a price is fair and reasonable. A number built from a written scope with itemized labor categories and hours survives that analysis. A number built from a paragraph of intent does not, and the resulting negotiation burns weeks that the period of performance cannot spare.
Data readiness drives cost more than anything else
If we could ask a buyer only one question before quoting, it would not be about the model, the cloud, or the deadline. It would be about the data. Two projects with identical stated requirements can differ by a factor of four in price purely on data condition, and the gap almost never shows up in the requirement document.
Access latency is the largest hidden line. A system that requires a data sharing agreement, an information system security officer sign-off, and a government-furnished environment before the first byte moves can hold a team at the starting line for six weeks. That is real cost whether it is billed or absorbed. We price it explicitly, and where the buyer controls the timeline we say plainly which dates are ours to hit and which are theirs.
Ground truth is the second. A supervised task with no labeled examples means labeling is part of the job, and labeling by a domain expert who has other duties is the slowest activity in most programs. The third is format entropy: forty PDF layouts across twelve years, half of them scanned, is a different job from a clean relational export, even when the fields requested are identical.
- Access path. Who grants it, what agreement is required, and the realistic date the first byte moves.
- Ground truth. Labeled examples that exist today, and who can adjudicate a disagreement about a label.
- Format spread. How many distinct layouts, how much is scanned, and how far back the history runs.
- Sensitivity. CUI, PII, PHI, ITAR, or export-controlled content, and where processing is permitted to run.
- Volume and growth. Total corpus today and arrival rate, which sets the architecture before it sets the price.
- Authority to change. Whether we may alter the source system, or must stay strictly read-only alongside it.
Sensitivity deserves its own note because it changes the price through the environment rather than the code. CUI under 32 CFR Part 2002 and the NIST SP 800-171 control set, or a workload that has to sit in an authorized boundary, means the hosting, logging, and personnel arrangements are set before the first line of code. That is a legitimate cost, and it is one we would rather name in the quote than discover in month two.
How a quote actually gets built
Our estimating is bottom-up, not a multiple of a gut feel. The work breaks into tasks a named engineer would own, each task gets an hour range from the low case to the pessimistic case, the ranges roll up, and the fixed price sits toward the upper end of the roll-up because we are the ones absorbing variance. Where a task depends on an input the buyer owns, it is flagged in the quote rather than buried in it.
From your email to a signed number
Rates reflect the people, and we name the people. Our team is a small bench of senior engineers, licensed professional engineers, and domain specialists across defense, health, energy, transportation, and public-sector data. There is no pyramid underneath. Nobody is learning the craft on a client's budget, which is why our hour is more expensive than a staffing rate and why the total is usually lower.
Federal work: the contract type sets the arithmetic
On federal awards the pricing shape is often chosen for us by the contract type, and each type carries its own accounting obligations. Firm fixed price under FAR 16.202 is the cleanest arrangement for both sides and the one we prefer. Cost-reimbursement work brings FAR 52.216-7 Allowable Cost and Payment into the picture, along with the cost principles at FAR Part 31 and the accounting system criteria at DFARS 252.242-7006 for defense work. Those are not paperwork footnotes. They determine what can be billed and what has to be absorbed.
Buyers below the simplified acquisition threshold at FAR 2.101 have room to move quickly, and commercial services acquired under FAR Part 12 avoid a large share of the clause burden entirely. Above the truthful cost or pricing data threshold at FAR 15.403-4, certified cost or pricing data enters the conversation unless an exception applies, and the estimating trail behind our numbers is built to withstand that. We maintain the indirect rate structure and timekeeping discipline that a Defense Contract Audit Agency review expects, because a firm that cannot support its rates cannot take the work that pays best.
SBIR and STTR cost volumes are a category of their own. Phase I budgets across agencies commonly land between roughly $150,000 and the low three hundreds, the fee line in a defense cost volume is expected to stay modest, and every travel, materials, and consultant line has to survive a reviewer who has read a thousand of them. The performance-of-work split matters too: an SBIR Phase I requires that at least two-thirds of the research be done by the small business, while STTR sets the split between the small business and the research institution. Those rules shape the budget before the engineering does.
Subcontract pricing for primes and integrators
When we sit under a prime, our pricing has to fit inside the prime's own arrangement with the government, so we shape it to match. On a firm-fixed-price prime contract we take a firm-fixed-price subcontract with milestone payments tied to the prime's deliverable schedule, which keeps the prime's cash position clean. On a cost-type or labor-hour vehicle we provide labor categories mapped to the prime's own category structure, with rates that hold for the ordering period.
We also price the thing primes actually need on short notice: a defined AI and data workshare with named engineers, a written statement of work the prime can paste into a proposal volume, and a letter of commitment. A prime capture manager working a two-week turnaround needs a number and a scope, not a discovery conversation, so we give a bounded quote against the requirement as written and flag the assumptions we priced against.
Exclusivity is priced as what it is. If a prime wants us off the street for a given pursuit, that has a value, and we will discuss it directly rather than assume it. Our default is a straightforward teaming arrangement with a defined workshare percentage and a clear statement of what happens at option exercise.
State, local, and commercial work
State and local buyers usually want a not-to-exceed figure and a payment schedule tied to inspectable deliverables, and many carry their own terms on data ownership and source code escrow. We read those terms before quoting because they change the price. A requirement that the state owns all delivered code outright is a different economic arrangement from one where a vendor licenses a product, and the number should say so honestly rather than hide it.
Commercial buyers get the same two shapes and the same discovery discipline. What changes is speed. A commercial pilot with a signed order and available data can start within days of scope agreement. The one thing that does not change is the acceptance test. Whether the buyer is a program office, a county, or a manufacturer, we want the same sentence in writing about what "working" means.
Change orders, and the line we hold
Fixed price means fixed scope, and the honest handling of that is to say clearly what triggers a change order and what does not. New fields, new data sources, a new deployment target, or an acceptance criterion that moves after signature are change orders, priced the same bottom-up way and approved in writing before any hour is spent. Our own underestimate is not a change order. Neither is a bug, a performance shortfall against a criterion we agreed to, or anything in the delivered artifact that does not do what the scope said.
We put that distinction in the agreement rather than leaving it to goodwill. Goodwill is abundant in month one and scarce in month five, and the pricing structure should still work in month five.
What to send for a fixed quote
Six things get a real number back. None of them requires a polished document, and a rough version of each beats a perfect version of two.
- The requirement in whatever form exists. a paragraph, a statement of work, a ticket, a screenshot of the current manual process.
- One representative data sample. a handful of real records, or synthetic ones with the same structure if the real ones cannot leave.
- The sentence that defines done. what you would check to decide the thing works.
- The date it has to be working. and whether that date is a preference or a hard constraint tied to a milestone.
- Where it has to run. your cloud, our cloud, an authorized boundary, on-premises, or fully disconnected.
- Any sensitivity flags. CUI, PII, PHI, export-controlled, or contractually restricted content.
Send those to [email protected] and you get one of two answers within one business day: a plain no with a reason, or a scoping reply that leads to a written scope, an acceptance test, and a fixed price inside five business days. If the honest answer is that the work needs discovery first, we say that too, and quote the discovery block on its own so the build number arrives with evidence behind it.
Frequently asked questions
Yes, whenever the output, the acceptance test, and the data path are defined. The uncertainty in an AI project is concentrated in data condition and in what accuracy target counts as success. Fix those two and the engineering is as quotable as any other software build. Where a target is genuinely unknown, we quote a discovery block that establishes the baseline first.
Because it has its own deliverable and its own value. A discovery block produces a written scope, an acceptance test with a number in it, a data readiness assessment, and a fixed build price. Those artifacts belong to the client and can be taken to any shop. Bundling discovery into a build price hides the cost of learning and makes the buyer captive.
Data condition, nearly every time. Access latency, missing labeled examples, and format spread across a long document history drive far more hours than model selection or cloud choice. Sensitivity level matters too, since a workload inside an authorized boundary sets its hosting, logging, and personnel arrangements before any code is written.
A hard ceiling and written exit criteria set before the first billed hour, plus visible weekly burn. We stop at the ceiling and come back with findings rather than asking for more. Federal practice at FAR 16.601 requires the same discipline on government work, and we apply it on commercial engagements where nothing compels it.
Yes. Send the requirement and the close date and you get a fit answer within one business day. For a live pursuit we provide a bounded workshare price, labor categories mapped to your structure, a statement of work sized for your technical volume, and a letter of commitment with named engineers.