Skip to content

Cost-Effective AI for SMEs: Matching the Model to the Job to Control Spend

You are past the pilot. AI is in real workflows now, and the bill is starting to grow. The fix is not a cheaper vendor. It is matching each job to the smallest model that clears its quality bar, and proving it with numbers.

John Cravey with EleviFounder12 min read

Your company is past the pilot stage. AI is running inside real workflows now: support replies, first-draft content, lead sorting, internal search. The output is useful, so usage is climbing, and so is the monthly bill. The instinct is to shop for a cheaper vendor or to cap usage. Both are wrong. The real lever is quieter and it stays inside your own process: match each job to the smallest model that clears its quality bar, measure the cost per task so finance can see it, and move a workload down a tier the moment the cheaper model passes the bar. This is the in-house rubric a 10-to-99-person team can run without hiring an AI specialist. It rewrites the the model-selection guide for the reader who now has to defend the spend.

The one mistake that inflates every AI bill

There are three Claude models, and they sit far apart on price. Opus is the most capable. Sonnet is the daily driver. Haiku is the fast, cheap one. Opus runs about five times the token cost of Sonnet and roughly nineteen times the cost of Haiku (Anthropic's pricing page is the current source of truth). The mistake almost every team makes when AI first works is to pick the strongest model and point it at everything, because "best model" feels like the safe call. It is the expensive call. Most of the tasks you are running do not need the strongest model to produce output you would ship. You are paying a premium on jobs where a cheaper model ties or wins.

Defaulting to the biggest model is not a technology problem. It is a process gap. Nobody sat down and matched the job to the tier, so the safest-sounding default won by inertia. The fix is a rubric that anyone on your team can apply in under a minute, plus a number that tells finance whether the rubric is working.

A three-tier rubric your whole team can use

Give each of the three models a plain-language job description so a non-engineer can route work correctly. This is the internal standard. Write it once, pin it where your team works, and treat it as the default unless a task earns an exception.

  • Top tier (Opus): the hard, exact, high-stakes work. Multi-step reasoning across several inputs, analysis where a wrong answer costs you, voice-critical writing that carries the brand, code in an unfamiliar system. Use it where being right matters more than the price.
  • Middle tier (Sonnet): the daily work. Drafting, summarizing, pulling structured data out of messy text, edits in code you already know, customer-facing chat that has to read well. This is your default. When you are unsure, this is the answer.
  • Bottom tier (Haiku): the high-volume, low-nuance work. Yes or no classification, simple transformations, fast answers from a small amount of context, lead scoring, routing. Use it where you run the job hundreds or thousands of times a day and the output is short and simple.

Turn the tiers into a five-question routing check

The tier descriptions are the what. This is the how. Any person or any script can walk these five questions in order and land on a tier. Post it next to the rubric.

  1. Does a customer or an outside party see the output directly? If yes, never go below the middle tier. The cost of a slightly-off reply to a real customer dwarfs the token savings.
  2. Does the task need real reasoning across several inputs at once? If yes, top tier.
  3. Does the task run at high volume, say a thousand-plus times a day, with short, simple output? If yes, bottom tier.
  4. Does the task carry your brand voice or a sensitive tone? If yes, middle or top tier depending on the stakes.
  5. Everything else defaults to the middle tier.

That is the entire routing policy. Five questions, three tiers. A new hire can apply it on day one, which is the point: the rubric has to survive turnover and scale past the one person who set up the AI.

Map your real workflows to tiers

Abstract tiers do not change a bill. Assigning your actual workflows does. Here is a starting map for a typical SME running AI in a few places. Adjust it to your work, but notice how little of the total lands on the top tier.

  • Long-form content where voice matters (a founder post, a cornerstone article): top tier.
  • Templated page or product-description variants at volume: middle tier, paired with scaling AI content without scaling the bill so the shared context is not re-billed on every call.
  • Customer chat backed by your own documents: middle tier, with an option to step up mid-conversation on a hard question.
  • Summarizing long email threads or meeting notes: middle tier.
  • Lead scoring and routing: bottom tier.
  • Image alt-text generation: bottom tier.
  • Tagging or classifying inbound messages (spam, category, priority): bottom tier.
  • Reviewing a complex code change or a dense contract clause: top tier.

The shape is the lesson. A handful of jobs justify the top tier. Most daily work sits in the middle. A large slice of your call volume, the classify-and-route work, belongs at the bottom and costs almost nothing there. When every one of these currently runs on the top model, you are overpaying on the whole bottom two-thirds.

Measure cost-per-task so finance can defend it

A rubric that lives in someone's head is not defensible. Finance cannot sign off on "we picked the cheaper model where we could." They can sign off on a number. So instrument the spend at the task level, not the account level. Tag every AI call with the workflow it came from. Then roll the tags up each month by model and rate.

// Tag every call with the workflow it serves, then roll up monthly.
// The tag is what lets you price a job instead of a whole account.
type ModelTier = "opus" | "sonnet" | "haiku";

interface CallLog {
  workload: string;      // e.g. "lead-scoring", "support-chat", "blog-draft"
  tier: ModelTier;
  inputTokens: number;
  outputTokens: number;
}

// Published per-million-token rates. Keep these in one config, not inline.
const RATES: Record<ModelTier, { in: number; out: number }> = {
  opus: { in: 15, out: 75 },
  sonnet: { in: 3, out: 15 },
  haiku: { in: 0.8, out: 4 },
};

function costOf(call: CallLog): number {
  const r = RATES[call.tier];
  return (call.inputTokens / 1e6) * r.in + (call.outputTokens / 1e6) * r.out;
}

// Monthly rollup: spend per workflow, plus the counterfactual finance wants.
function report(calls: CallLog[]) {
  const byWorkload = new Map<string, number>();
  let actual = 0;
  let ifAllTopTier = 0;
  for (const c of calls) {
    const spend = costOf(c);
    actual += spend;
    ifAllTopTier += costOf({ ...c, tier: "opus" });
    byWorkload.set(c.workload, (byWorkload.get(c.workload) ?? 0) + spend);
  }
  // (actual) is the real bill; (ifAllTopTier - actual) is the saving the
  // rubric earned this month. That gap is the line item finance cares about.
  return { byWorkload, actual, saved: ifAllTopTier - actual };
}
A cost-per-task rollup. The saved figure, top-tier-everything minus actual, is the number that proves the rubric pays for itself.

The counterfactual is the part that makes this defensible. Report two numbers each month: what you spent, and what you would have spent running everything on the top model. The gap is the money the rubric saved. That is a line item a finance lead can read in ten seconds and approve. It turns "we are being careful with AI" into "the routing policy saved this much in June."

When to move a workload down a tier

The rubric sets a starting tier. The savings come from the discipline of pushing each workload as low as its quality bar allows, and revisiting that call as the cheaper models improve. Here is the test, and it is cheap to run.

  1. Pick twenty representative tasks from the workflow. Real inputs, not toy ones.
  2. Run each through the current tier and the tier below it.
  3. Blind-score the outputs. Do not label which model produced which. Score for whether you would ship it.
  4. If the lower tier ties or wins on most of the twenty, move the workflow down. You just cut that job's cost by roughly five times with no quality loss.
  5. For the few tasks the higher tier genuinely wins, keep those on the higher tier and move the rest. A workflow can be split.

Run this test on your top-tier workloads first, because that is where the money is. Most teams find that half of what they put on the top model runs fine one tier down. Re-run the test each quarter: the cheaper models get better, and a job that needed the top tier last year may clear the middle tier now. The bar to beat is not "perfect," it is "would we ship this," and that bar is lower than most teams assume.

Mix models inside one workflow

You do not have to pick one tier per workflow. The single most effective pattern for an SME is to let a cheap model triage and only escalate the hard cases. A bottom-tier model reads the incoming request and decides: can I answer this from a small set of known answers, or does this need real reasoning? Simple requests get answered cheaply. The few complex ones escalate to a stronger model. Most of your volume never touches the expensive tier.

// Cheap triage first. Escalate only the requests that earn it.
async function route(userMessage: string) {
  const triage = await claude.messages.create({
    model: "claude-haiku-4-5",
    max_tokens: 20,
    system: "Reply with one word: 'simple' if a short direct answer fits, 'complex' if it needs reasoning.",
    messages: [{ role: "user", content: userMessage }],
  });
  const verdict = triage.content[0].type === "text" ? triage.content[0].text : "";
  const model = verdict.toLowerCase().includes("complex")
    ? "claude-opus-4-8"      // hard cases only
    : "claude-sonnet-4-6";   // the common path
  return claude.messages.create({
    model,
    max_tokens: 1024,
    messages: [{ role: "user", content: userMessage }],
  });
}
A triage-then-escalate router. The cheap model gates the expensive one, so the strong model only runs on the fraction of requests that need it.

This is the pattern behind a well-run support chat. The triage call costs almost nothing and runs on every message. The expensive model runs on the small slice that genuinely needs it. Your average cost per conversation drops toward the cheap tier while your hard-case quality stays at the top tier. See the wiring details in the model-selection guide.

Two more levers that do not touch quality

Once the routing rubric is in place, two mechanics take the bill down further without changing a single output.

  • Batch the non-urgent work. Anything that does not need an answer this second, nightly content generation, weekly digests, periodic re-indexing, can run through the asynchronous batch path at half the per-token cost. Sort your workflows into real-time and can-wait, and push the can-wait pile to batch. It is a free fifty percent on that slice.
  • Cache the stable context. If every call in a workflow ships the same long instructions, brand guide, or reference set, you are paying to re-read it on every request. Caching that shared block cuts the cost of the repeated part sharply. The full pattern for an SME is in scaling AI content without scaling the bill.

Neither of these is a trade-off. Batching changes when the work runs, not what it produces. Caching changes what you are billed to send, not the answer you get back. Stack them on top of the routing rubric and the compounding is real.

The repeatable process, start to finish

Pull it together into a loop your team runs on a cadence, not a one-time cleanup. This is what makes it defensible and durable.

  1. Write the three-tier rubric and the five-question routing check. Pin them where your team works.
  2. Map every current AI workflow to a tier. Be honest about how few need the top model.
  3. Tag every call with its workflow and instrument the monthly cost-per-task rollup, including the top-tier-everything counterfactual.
  4. Run the twenty-task down-tier test on your top-tier workloads. Move down every job that clears the bar.
  5. Add triage-then-escalate to any high-volume conversational workflow.
  6. Route can-wait work to batch and cache stable context where it repeats.
  7. Re-run the down-tier test each quarter as the cheaper models improve, and report the saved figure to finance monthly.

That loop is the whole discipline. It does not require an AI hire. It requires a rubric, a tag on every call, and a quarterly test. The output is a bill that scales with value delivered instead of with the size of the model you defaulted to.

Questions SMEs ask us about controlling AI spend

Won't routing to cheaper models make our output worse?

Only if you route badly. The down-tier test is the guard: you move a workload down only after the cheaper model ties or beats the current one on twenty real tasks, blind-scored. You never move a customer-facing task below the middle tier. Done this way, quality holds or improves, because a right-sized model on a job it handles well often produces cleaner, less over-worked output than an over-powered one.

How much can a company our size actually save?

It depends on your current mix, but the pattern is consistent: most teams that default everything to the top model are overpaying on two-thirds of their volume. A pipeline we moved from all-top-tier to routed dropped about eighty-two percent for the same work. Your number depends on how much of your volume is the high-count, low-nuance work that belongs at the bottom tier. The more of it you have, the bigger the cut.

Do we need an engineer to set this up?

For the rubric and the routing policy, no. Those are decisions, not code. For the cost-per-task tagging and the triage router, you need someone who can touch the code that makes the AI calls, which for most SMEs is the person who wired the AI in the first place. It is a small amount of work, and the monthly rollup pays for it in the first month. If you do not have that person, that is what our solutions cover.

The same play, told for your neighbors

The logic here scales up and down. A solo operator or a very small shop cares most about not overpaying on a handful of tasks: that is the micro businesses version. A larger, more structured organization needs the rubric written as an enforced policy with governance: that is the mid-market teams version. An agency running AI across a book of client accounts productizes the whole thing: that is the agencies version. The rubric, the cost-per-task measure, and the down-tier test carry across all of them. The underlying model differences and current rates live in the Anthropic docs and the pricing page.


AI cost control for an SME is not a procurement problem. It is a process you own: a rubric anyone can apply, a number finance can read, and a test that keeps pushing each job to the smallest model that still clears its bar. Set it up once and it keeps paying, because the cheaper models keep getting better and your rubric keeps catching the jobs that can move down.

Want the routing rubric, the cost-per-task rollup, and the triage router wired into your stack? Run the estimator and we will scope it, or talk to us about setting it up with your team.

Written by
John Cravey
Founder

Founder of Frontend Horizon. Writes most of the long-form work on the FH blog.

Newer post
Cost-Effective AI for Mid-Market Teams: A Model-Selection Policy That Controls Spend
Older post
Cost-Effective AI for Micro Businesses: Getting the Most From AI Without Overpaying
Keep reading

More from the blog

AI·13 min

AEO for SMEs: Build a Repeatable Answer-Engine Program

Your buyers now ask an AI who to hire before they ever open a search page. AEO is what gets you named. For an SME, the win is a process you can run every month, not a tool you overpay for.

AI·13 min

Prompt Caching for SMEs: Scale AI Content Without Scaling the Bill

You do not need a bigger AI budget to publish more. You need to stop paying full price for the same context on every call.

AI·12 min

AI-Assisted Content for SMEs: A Repeatable Draft-and-Edit Workflow

One person prompting an AI when they remember to is not a content process. Here is the repeatable version a small team can actually run and measure.