Skip to content

    Forward Deployed Engineer

    AI Project Estimation: Effort, Tokens and TCO

    Estimate an AI project honestly: build effort, model token cost and a three-year total cost of ownership for one worked project, with a sensitivity table.

    By Published 9 min read

    • fde
    • solution-architect
    • pre-sales
    • estimation
    • tco
    • token-cost
    Share

    This lesson is part of AI Solution Architect: Estimate, Propose and Defend. Enroll for free, then sign in, to read it in full.

    What you'll learn: how to estimate an AI project in three parts (build effort, model token cost and running cost), combine them into a three-year total cost of ownership (TCO), and show which assumption moves the answer most. Every price on this page is a placeholder price; you replace each with your provider's current published price and its date.

    At a glance

    Figure 1. From scope to a TCO table with sensitivity cases

    flowchart TD accTitle: Estimation flow from scope to total cost of ownership accDescr: Scope and written assumptions feed three estimates. Effort turns team size and days into build days and build cost. Usage turns contacts and tokens into a monthly model cost. Running costs add hosting and support. The three join in a three-year TCO table, which is tested with sensitivity cases. S["Scope and written assumptions"] --> E["Effort: people x days x availability"] S --> U["Usage: contacts x tokens x price"] S --> R["Running: hosting and support"] E --> B["Build cost"] U --> M["Monthly model cost"] B --> TCO["Three-year TCO table"] M --> TCO R --> TCO TCO --> X["Sensitivity cases and a range"]

    How to read this: three separate estimates meet in one table, and the last box is the one the sponsor needs: how wrong could this be.

    • Build cost is people times days times availability times a day rate; model cost is contacts times tokens times price.
    • In this project the model bill is about 1 percent of the three-year cost; hosting is the largest line.
    • Label every price a placeholder, and record where the real price will come from and on what date.
    • Show sensitivity cases so the sponsor sees which assumption matters.

    Scenario

    Composite scenario, not a real company. The Head of Customer Operations at Lumen Industrial Supply, a fictional distributor, has agreed to a read-only Order and Policy Assistant for 24 customer-service agents. Finance asks: "What does this cost over three years, and how wrong could you be?"

    The design is fixed from earlier pages: a thin Python service behind the existing API gateway, a hosted model and keyword search over the policy library. All numbers are illustrative. You need a table where every line has a formula and an input.

    What you will be able to do

    • Derive build days and build cost from team size, duration, availability and a day rate.
    • Compute tokens and model cost per month from stated assumptions.
    • Build a three-year TCO table and a sensitivity table with correct arithmetic.

    Prerequisites

    Core ideas

    Three estimates, one formula each

    Estimate Question Typical error
    Effort How many person-days, and what do they cost? Availability taken as 100 percent
    Usage What does the model cost each month? A list price with no date
    Running What does it cost to keep alive? Leaving out support
    build days        = engineers x working days x availability + architect share x working days
    build cost        = build days x day rate
    assisted contacts = contacts a month x assisted share
    model cost a year = 12 x assisted contacts x (in tokens x in price + out tokens x out price) / 1,000,000
    run cost a year   = hosting a month x 12 + model cost a year + support share x build cost
    three-year TCO    = build cost + 3 x run cost a year

    These are a method, not a law; the reader can see and change every input. Total cost of ownership (TCO) means everything you pay over the life of the system, not only the build.

    Where the price comes from

    A price changes by provider, model and date. A provider's pricing page lists a price per million tokens (MTok), with separate columns for input and output (source: platform.claude.com pricing page, accessed 2026-11-03; this lesson quotes no prices from it). Replace every placeholder with the current published price, with its date and URL. The LLM cost estimator and LLM token counter help check the arithmetic.

    WARNING

    Never paste a price into a proposal from memory or from a blog. An old price in a proposal is a quote you may have to honour.

    In the interview: "Estimate the cost of an AI assistant for 24 agents." A strong answer asks for contacts per month, tokens per request and who supports it, states the formula, gives a range, and names hosting and support as costs the model bill hides.

    Worked example

    Assumptions: every number is illustrative; money is in EUR; every price and rate is a placeholder price.

    • 9,600 contacts a month; the assistant handles 70 percent.
    • One request is 3,200 input tokens and 350 output tokens.
    • Placeholder price: 1.00 per million input tokens, 5.00 per million output tokens.
    • Team: 2 engineers at 75 percent availability for 40 working days (8 weeks), plus an architect at 20 percent. Placeholder day rate: 450.
    • Placeholder: hosting 1,200 a month; support is 20 percent of build cost a year.
    • No cached tokens and no buffer; the sensitivity cases are the margin. The three-week proof of concept is not included: price it separately.

    Step 1. Effort.

    • Person-days: 2 x 40 x 0.75 = 60, plus 0.2 x 40 = 8, so 68 over the 8 weeks.
    • Build cost: 68 x 450 = 30,600.

    Step 2. Usage. Assisted contacts: 9,600 x 0.70 = 6,720 a month. Tokens: 6,720 x 3,200 = 21,504,000 in and 6,720 x 350 = 2,352,000 out. If the median handling time falls from 9 to 6 minutes, 3 x 6,720 = 20,160 minutes, or 336 hours a month, are freed. That is time freed, not cash saved.

    Figure 2. Cost of one request at the placeholder prices

    Cost of one request in placeholder EUR per million tokens (interactive when JavaScript is on)
    Cost per request (units)0.004950
    Cost per 1,000 requests (units)4.95

    How to read this: change prices and token counts and watch which term moves; the starting values are the ones used below.

    • Cost per request = (3,200 x 1.00 + 350 x 5.00) / 1,000,000 = 0.00495, or 4.95 per 1,000 requests (the widget's starting output).
    • Model cost a month: 6,720 x 0.00495 = 33.264. A year: 399.168.

    Step 3. Run cost per year. Hosting 1,200 x 12 = 14,400; model 399.168; support 0.20 x 30,600 = 6,120. Total 20,919.168, shown as 20,919.17.

    Step 4. The TCO table. Three years: 30,600 + 3 x 20,919.168 = 93,357.504, shown as 93,357.50. Lines use unrounded values.

    Line 3-year cost (EUR, placeholder) Share
    Build 30,600.00 32.78%
    Hosting 43,200.00 46.27%
    Model usage 1,197.50 1.28%
    Support 18,360.00 19.67%
    Total 93,357.50 100%

    Change any input below and watch the table's lines, shares and total move; the starting values are the table above.

    Three-year TCO in placeholder EUR (interactive when JavaScript is on)
    Build cost30,600.00 (32.78%)
    Hosting, 3 years43,200.00 (46.27%)
    Model usage, 3 years1,197.50 (1.28%)
    Support, 3 years18,360.00 (19.67%)
    Run cost per year20,919.17
    3-year total cost of ownership93,357.50

    Figure 3. Where the three years of cost goes

    pie showData accTitle: Three-year TCO by line in placeholder euros accDescr: Hosting is the largest slice at 43,200, then build at 30,600, support at 18,360 and model usage at 1,197.50. title Three-year TCO, placeholder EUR "Hosting" : 43200 "Build" : 30600 "Support" : 18360 "Model usage" : 1197.5

    How to read this: the slices are the table's lines; the model bill is a sliver.

    NOTE

    Worth it? The freed time is at most 336 x 36 = 12,096 hours. The TCO is repaid if one hour is worth more than 93,357.50 / 12,096 = 7.72 (placeholder arithmetic; ask Finance for the real hourly rate).

    Predict first. Output tokens double, from 350 to 700 per request. By how much does the three-year TCO rise: about 0.5 percent, 5 percent or 50 percent? Decide before opening the answer.

    Answer

    About 0.5 percent. Output cost rises from 11.76 to 23.52 a month, so three years of model cost rises by 11.76 x 36 = 423.36. Against 93,357.50 that is 0.45 percent. The model bill is 1.28 percent of the total, so even a large change in it barely moves the answer. Check which line is large before you optimise.

    Step 5. Sensitivity. Change one assumption at a time.

    Case 3-year TCO (EUR, placeholder) Change
    Base case 93,357.50 none
    Output tokens double (350 to 700) 93,780.86 +0.45%
    Effort 25 percent higher (85 days) 105,597.50 +13.11%
    Day rate 450 to 600 109,677.50 +17.48%
    Hosting doubles (1,200 to 2,400 a month) 136,557.50 +46.27%

    Agree hosting first, then effort and rate, not the model price. At the customer: when finance asks "which number is least certain?", name the one that moves the total most, say who will confirm it (the platform team for hosting), and show the case where it doubles.

    Practice task

    Add your estimate and three-year TCO to the design pack, for this project or a customer of your choice.

    1. Derive build days and build cost; write the formula and inputs beside each number.
    2. Compute cost per request and per month.
    3. Add each running cost, with a column "placeholder or sourced, and date".
    4. Add three sensitivity cases and one sentence on which assumption to verify first.

    Recompute every figure with a script before you show it.

    Exercise

    Finance asks what changes if the assistant handles 85 percent of the 9,600 contacts instead of 70 percent. Keep token counts and placeholder prices. Compute the monthly model cost and name the assumption to verify first.

    Acceptance criteria: assisted contacts, cost per request and the formula are shown. Done when your monthly model cost is 40.39 within one cent.

    Hint 1: assisted contacts

    Multiply contacts by the share before touching any price.

    Hint 2: cost per request

    Token counts and prices are unchanged, so it stays 0.00495; only the request count changes.

    Common mistakes

    • A point estimate with no range. The sponsor hears it as a promise.
    • A list price copied from memory, with no date.
    • Counting only the model bill, when hosting and support are far larger.
    • Treating minutes freed as money saved.
    • Mixing units: tokens versus millions of tokens, monthly versus yearly.

    Knowledge check

    1. Why is the build effort 68 person-days and not 80?

    Two engineers for 40 days is 80 only at full availability. At 75 percent it is 60, because other work takes the rest; the architect adds 0.2 x 40 = 8.

    2. Why does doubling the output tokens raise TCO by under 0.5 percent?

    Model usage is only 1.28 percent of the total, so a 35 percent rise in that line adds little. Hosting is 46.27 percent, so changes there matter far more.

    3. A teammate puts a blog's price into the proposal. What do you do?

    The price may be out of date or for another model, and a proposal can bind you to it. Replace it with the provider's published price, note the date and URL, and label it a placeholder where you cannot confirm it.

    4. What does the 7.72 break-even hourly value say, and not say?

    It says what an hour of agent time must be worth for 336 freed hours a month over 36 months to repay the TCO. It does not prove the hours appear: adoption and the small sample behind the 9-minute baseline both change it.

    5. What does the sensitivity table tell the sponsor that the base case does not?

    It shows which assumption moves the answer most, so they know where measurement is worth the effort and where a wrong guess is cheap. Here hosting and effort need a confirmed number before the model price does.

    You can now

    • Add the estimate and three-year TCO to your design pack.
    • Derive build days, build cost and a three-year TCO from stated inputs.
    • Compute cost per request and monthly model cost from tokens and prices.
    • Explain why every price must be replaced with a dated, published figure.

    Further reading

    Last verified: 2026-11-03

    Next

    Build, buy or hybrid, and vendor selection

    Enroll to keep reading

    Lesson 3 of 15 · AI Solution Architect: Estimate, Propose and Defend

    Estimate an AI project honestly: build effort, model token cost and a three-year total cost of ownership for one worked project, with a sensitivity table.

    In the rest of this lesson

    • Practice task
    • Exercise
    • Common mistakes
    • Knowledge check
    • You can now
    • Further reading

    Enrolling is free. It unlocks every lesson in AI Solution Architect: Estimate, Propose and Defend, tracks your progress across devices and keeps your quiz scores. The newsletter is optional.

    Ask about this article

    Get answers grounded in this post. AI-generated — based on this article, and may be imperfect.

    Scaled AI Weekly

    Enjoyed this? Get more like it every Monday.

    Real architecture decisions, LLMOps patterns that survive production, and engineering leadership advice — from 12+ years of building at enterprise scale. Free. No spam. Unsubscribe anytime.

    Get new articles by email

    Free. We email a confirmation link first, and you can unsubscribe from any email.

    Join engineers building production AI systems

    Comments