“We should add AI” is not a scope. It is a mood.
When I scope an AI automation project, the proposal has to survive contact with an invoice. I put five numbers on the page, then a ceiling. If we cannot agree on those, we are not ready to build — we are ready to argue later.
The five numbers
1. Tokens in and out per successful task
Not per demo screenshot — per success, including the context you will actually send: system prompt, retrieved chunks, history, tool results.
I measure with a tokenizer on real samples. Classification might be a few hundred tokens. A support turn with policy retrieval might be thousands of input tokens. Catalog copy sits in between but multiplies by SKU count.
2. Volume including failures
Daily or monthly successes, plus the failure tax: retries, regenerations, users who ask the same question three ways, webhook redeliveries.
If the demo assumed 500 chats and the sale calendar implies 3,000, the proposal uses the honest calendar. Optimism is not a discount from the provider.
3. Default model versus upgrade model
I name both. Default is what runs every time. Upgrade is what runs when the cheap path fails a checklist (claims, JSON schema, low retrieval score, angry customer tier).
Writing only one model into the SOW is how every turn becomes flagship spend.
4. Extras
Embeddings, vision passes, eval runs, logging storage, human review hours, vector DB, queue infrastructure. Generation is usually the star. Extras are the supporting cast that still appear on cards.
5. The 3×-demo case
What happens if usage is three times the pilot. Not a scare tactic — a planning case. If 3× breaks the business model, we redesign before code: cheaper default, stricter caps, more human handoff, or a feature cut.
Plug the workload into the AI API cost calculator and put the range in the proposal. Approximate public list rates beat a single magic number.
Then the ceiling
After the five numbers comes a sentence like: “We will engineer to keep provider spend under $X/month at planned volume, with an alert at 70% and a kill switch for nonessential paths.”
The ceiling forces design choices: step caps on agents, refuse-when-empty on RAG, output token maxes, batch where live is unnecessary.
What I refuse to put as scope
- “ChatGPT-like experience for the whole site” with no routing
- Unlimited agent steps
- Training on customer PII without a logging plan
- Accuracy guarantees with fake percentages
- “Same as the demo” when the demo used hand-picked questions and a human lurking
I reframe those into a job: which intents, which tools, which refuse rules, which handoff, which budget.
A mini example (catalog + light support)
Say a merchant wants descriptions for 2,000 products and a policy bot.
- Catalog: ~1,200 in / 350 out per SKU, one-shot plus 30% rewrite → model cheap-first
- Bot: 2,000 conversations × fewer turns than they expect × retrieval-augmented input
- Extras: embed policy docs; nightly eval of 50 questions
- 3× case: campaign month
I show two monthly ranges: disciplined mix versus “everything on flagship.” The gap is the conversation. Same approach as the early playbook posts on API cost — because scoping is cost design.
Process around the numbers
- Kickoff: intents, systems of record, red lines
- Sample prompts and docs → token measurements
- Draft five numbers + ceiling
- Agree on fail-closed behavior
- Build thin vertical slice
- Recalibrate after a week of real traffic
Async works fine across timezones. I would rather send a crisp proposal PDF from Karachi than improvise rates on a sales call.
Why this protects both sides
The client sees what drives money. I am not trapped delivering an unbounded assistant on a fixed fee that assumed a toy volume. If marketing later doubles traffic, we have a change-request path tied to meters — not resentment.
Turning “just add AI” into intents
Before numbers, I list intents in plain language:
- Answer return policy from docs
- Draft product description from vendor fields
- Tag tickets by topic
- Extract fields from an uploaded PDF
Each intent gets a success definition and a refuse path. Intents without refuse paths are how you get confident nonsense. This framing also reveals that three of five requests are one RAG system with different entry points — cheaper than five agents.
Fixed fee versus meter-aware fee
I am comfortable with fixed fees for build work when the meter has a ceiling and a change-request path for volume spikes. Pure fixed fee with unlimited usage is charity to the token vendors. Pure pass-through without engineering for cost is charity to nobody. The five numbers let both sides see the dials.
Stakeholders who only want a demo
Demos are allowed. They are timeboxed and labeled non-production. I still sketch the five numbers lightly so the demo does not become the unspoken SOW. If leadership falls in love with an uncapped agent demo, the scoping conversation happens before we wire production keys.
Cross-linking cost literacy
Scoping is easier when clients have already played with the AI API cost calculator. I send them there early. People who have moved the volume slider negotiate differently — and better — than people who think API calls are like a Netflix subscription.
After launch: recalibration week
The proposal promises a recalibration after real traffic: update token medians, adjust default model, tighten caps. That week is scheduled, not optional. Scope is a living agreement with meters, not a PDF fossil.
Working async with the five numbers
I send a one-pager before the pricing call: intents, five numbers, ceiling, open questions. Stakeholders comment in the doc. The meeting is for disagreements, not for discovering the volume estimate. That pattern fits timezone gaps between Karachi and US/EU clients.
If they cannot provide volume, I bring ranges and ask them to pick a planning case. Refusing to pick is also data — it usually means the project is still a vibe. The AI API cost calculator link in the one-pager turns abstract tokens into a picture they can manipulate.
Change requests tied to meters
When marketing wants a new intent after launch — say, upsell suggestions in every chat — I re-run the five numbers for that intent alone. If it blows the ceiling, we either raise the ceiling explicitly, route it to a cheaper model with stricter caps, or decline. The discipline is the product.
This also keeps scope from melting into “while you are in there.” The proposal’s ceiling is a contract with reality. The AI API cost calculator makes the re-estimate fast enough that you can answer in the same thread instead of a week later.
Bring numbers, not vibes
AI automation is software with a meter. Scope it like software and price it like a meter. Five numbers, one ceiling, refuse paths included.
If you want that turned into a Shopify-aware build — catalog, support, or internal ops — that is the engagement shape I offer: practical AI with a budget, not a forever demo.