# VARIA > VARIA is a decision-flow simulator. Compose decision-model questions, LLM steps, code rules, confidence gates and human handoffs, run 10,000 items, and see cost per 1M, p50/p95 wait and how much work still lands on people — before you build. VARIA is in preview (October 2026). Costs follow public pricing (Jev by TypeSafe: $0.042 per 1M input tokens, output free) plus the LLM price the user enters; answer shares, confidence and latency are user assumptions until calibrated on labelled data. VARIA is an independent project, not affiliated with TypeSafe. Modelled example (demo support flow, $3 per human touch as an assumption): machines cost $1,037 per million tickets, while 28% of tickets still reach a person ($904k at $3 per human touch). ## Pages - [VARIA home (Markdown)](https://heyvaria.com/index.md): the whole landing page as Markdown — what VARIA is, the people bill, how it works, the what-if story, agents (MCP/CLI/WebMCP), why p50 jumps, use cases, comparison, field notes, FAQ, glossary - [VARIA home (HTML)](https://heyvaria.com/): the same page with the interactive simulator ## Key answers - [What is VARIA?](https://heyvaria.com/index.md#what-is-varia): VARIA is a decision-flow simulator for AI pipelines. You compose decision-model questions, LLM steps, code rules, confidence gates and human handoffs; VARIA runs 10,000 items through the flow and shows cost per million, p50 and p95 wait, and the share of work that still reaches a person, before you build it. - [What does an AI support flow cost per million tickets?](https://heyvaria.com/index.md#the-people-bill): In the VARIA demo flow (modelled), the machines cost about $1,037 per million tickets: one decision-model call per ticket, plus an LLM that drafts refund replies. People still touch 28% of those tickets, which is 301,000 touches per million because some tickets need two. At $3 a touch that is about $904k, or $0.90 per ticket against $0.0010 for the machines. If the model’s confidence is calibrated, another 13.9% of tickets land in the wrong queue: $416k at $3 per reroute. All in, $1.32M per million, against $4.17M if people triage everything. LLM price calculators count only the machine part. - [What does AI customer support cost per ticket? How much of a queue can AI handle? How much does a Jev request cost?](https://heyvaria.com/index.md#faq): answered in the FAQ with modelled numbers and public pricing - [Why does p50 jump in what-if scenarios?](https://heyvaria.com/index.md#why-p50-jumps): Because a median only moves when half of the items change path. In the demo flow the fast path takes 0.3 s and the LLM path 6.6 s. While fewer than half of the tickets take the LLM path, p50 stays at 0.3 s; past half, it jumps to 6.6 s. The mean grows smoothly. Read p50 next to p95 and the mean, and watch the share on the slow path. - [VARIA vs spreadsheets, Flowcost.ai, vendor ROI calculators, LLM observability, workflow builders](https://heyvaria.com/index.md#compare): Most teams estimate in a spreadsheet, trust a vendor’s ROI calculator, or build first and measure with observability. Each answers a different question. ## For agents - [WebMCP tools on the home page](https://heyvaria.com/index.md#for-coding-agents): simulate_support_flow, get_pricing_assumptions, explain_term, list_use_cases, prefill_flow_request (never submits; the human does) - [AI catalog](https://heyvaria.com/.well-known/ai-catalog.json): MCP server card for VARIA (preview; not publicly available, no remote endpoint) - [Request flow modelling](https://heyvaria.com/#model-my-flow): a form with WebMCP declarative attributes (toolname="request_flow_modelling") ## Optional - [Full text for LLMs](https://heyvaria.com/llms-full.txt): this file plus the full Markdown page, FAQ and glossary in one document - [Classic edition](https://heyvaria.com/classic) and [DOS edition](https://heyvaria.com/dos): the same page in a plain product-site design and as a text-mode program; the home page is the canonical one --- --- title: "VARIA — simulate AI decision flows before you build them" url: https://heyvaria.com/ updated: 2026-10-28 --- # Shrink the AI bill. People included. Find which LLM steps can move to decision models or code. Compare machine spend, latency and the work that still reaches people — before you refactor. > Costs follow public pricing. Shares, confidence and latency are your assumptions until you calibrate. ## What is VARIA? VARIA is a decision-flow simulator for AI pipelines. You compose decision-model questions, LLM steps, code rules, confidence gates and human handoffs; VARIA runs 10,000 items through the flow and shows cost per million, p50 and p95 wait, and the share of work that still reaches a person, before you build it. ## The people bill **What does an AI support flow really cost per million tickets?** In the VARIA demo flow (modelled), the machines cost about $1,037 per million tickets: one decision-model call per ticket, plus an LLM that drafts refund replies. People still touch 28% of those tickets, which is 301,000 touches per million because some tickets need two. At $3 a touch that is about $904k, or $0.90 per ticket against $0.0010 for the machines. If the model’s confidence is calibrated, another 13.9% of tickets land in the wrong queue: $416k at $3 per reroute. All in, $1.32M per million, against $4.17M if people triage everything. LLM price calculators count only the machine part. Gartner put the average cost of a live-channel contact (phone, chat, email) at $8.01, against $0.10 for self-service. (Gartner press release, 25 September 2019, https://www.gartner.com/en/newsroom/press-releases/2019-09-25-gartner-says-only-9--of-customers-report-solving-thei). VARIA defaults to $3 per human touch to stay conservative. Use your own number. - **122 / 252 — The LLM bill for classification keeps growing.** Engineers routing and classifying with a general LLM were the loudest group in our scan; 73 of those posts showed a buying signal. - **61 — In support it’s mistakes and people, not tokens.** Support threads talked about misroutes (21) and the load on agents (17). Token price wasn’t the complaint. - **6 / 252 — “I don’t know what it will cost” is rare.** People feel the bill and the mistakes after launch. The bench shows the share that reaches a person today; a price per touch is next, and the calculator on this page adds it now. Source: VARIA field scan of 1,789 public posts (Hacker News and 19 subreddits, 12 months), October 2026. Details in Field notes. ## How it works 1. **Compose.** Draw the flow from the steps you would actually ship: one decision-model request with several questions, an LLM step, a code rule, a confidence gate, and outcomes handled by a machine or a person. 2. **Simulate.** VARIA runs 10,000 items through the flow with a fixed seed. You get outcome shares, cost per 1M items, p50 and p95 wait, decision calls per item and the share that reaches a human. 3. **What-if.** Change one expected share, a model, a threshold or a rule. The run repeats in milliseconds, so you compare designs side by side instead of guessing. 4. **Hand off.** Export the request JSON your flow would send and the graph JSON for your repo, or let a coding agent change the flow through the MCP server and the CLI. The parts you compose with: - **Decision request** (ASK): One call to a decision model with several questions about the same text. - **Noul** (N): Yes or no, returned as a probability. - **Choice** (C): One of up to 255 options, with a confidence. - **Score** (S): A level on a scale of 2 to 10 levels, with a confidence. - **LLM step** (LLM): Writes text. Slow, priced per call. - **Code rule** (FN): Arithmetic and lookups. 1 ms, $0. - **Confidence gate** (GT): Below the threshold, the item goes to a person. - **Human outcome** (HUMAN): Every touch is time someone is paid for. ## What-if: refund requests double This is the support-triage flow from the VARIA demo, re-implemented in your browser from the demo’s model. Its numbers land within about 2% of the demo’s (sampling noise at 10,000 items). Step through the story, or move the controls yourself. | Chapter | Change | Machines / 1M | People / 1M ($3/touch) | Wrong routes / 1M | All-in / 1M | To a human | p50 | p95 | Mean wait | |---|---|---|---|---|---|---|---|---|---| | The flow as designed | Triage asks three questions in one request. Refund requests go to an LLM that drafts a reply, and a second check catches over-promises. | $1,037 | $904k | $416k | $1.32M | 27.5% | 300 ms | 6.60 s | 1.89 s | | Refund requests double | One expected share moves from 0.25 to 0.50. Nothing else changes. | $2,017 | $1.00M | $416k | $1.42M | 30.0% | 300 ms | 6.60 s | 3.43 s | | A code rule takes small refunds | Refunds under $50 skip the LLM. Code costs nothing and takes 1 ms. | $420 | $854k | $416k | $1.27M | 26.3% | 300 ms | 6.60 s | 921 ms | | A smaller model drafts the rest | The LLM step drops from 6 s and $0.004 to 2 s and $0.001 per call. | $124 | $854k | $416k | $1.27M | 26.3% | 300 ms | 2.60 s | 527 ms | | Your agent adds one rule | Claude Code, through MCP: “send angry customers to a senior agent, keep cost and wait the same.” It reuses the triage call. | $125 | $1.21M | $416k | $1.62M | 35.1% | 300 ms | 2.60 s | 527 ms | Modelled: 10,000 simulated tickets, seed 7, common random numbers across chapters. A code rule and a smaller model cut the machine bill from $2,017 to $125 per million tickets. The agent’s last rule kept cost and wait flat, and added 117,700 human touches per million tickets. VARIA keeps the human share on the scoreboard so this shows up before launch, not after. ## For coding agents **Your coding agent designs the flow. VARIA tells it what it costs.** Clicking is fine for a first look. Tuning a flow by hand is not. VARIA has an MCP server and a CLI, so a coding agent such as Claude Code can read the flow, change shares and steps, and re-run the simulation from a plain-English request. Example request: “Send angry customers to a senior agent. About 12% of tickets are angry. Keep the cost and the wait the same.” - `get_flow`: Read the flow: steps, questions, shares, outcomes. - `set_expected_share`: Change what share of items answers yes, or picks an option. - `add_step`: Add a question, an LLM step, a code rule, a gate or an outcome. - `simulate (CLI)`: Run 10,000 items and print cost, wait and the human share. Final command name pending. Browser agents can use this page directly. Through WebMCP it exposes its demo engine as tools: simulate the support flow, read the pricing assumptions, look up a term, or fill in the request form for you to review and send. ## Why p50 jumps **Why does p50 jump 22× when nothing broke?** Because a median only moves when half of the items change path. In the demo flow the fast path takes 0.3 s and the LLM path 6.6 s. While fewer than half of the tickets take the LLM path, p50 stays at 0.3 s; past half, it jumps to 6.6 s. The mean grows smoothly. Read p50 next to p95 and the mean, and watch the share on the slow path. In the “refunds double” chapter 49.7% of simulated tickets take the slow path, right on the edge. A what-if that moves it from 49% to 51% shows p50 jumping 22× while the mean moves 4%. ## Use cases ### Move classification off the LLM - **For:** Engineers and eng leads whose LLM classifies, tags or routes - **Job:** When the LLM bill keeps growing, see which steps can move to a decision model or code — and what happens to latency — before you refactor. - **Money lever:** LLM bill · latency - **Flow:** IN → ASK → FN → LLM → AUTO - **Public data point:** MotherDuck: 100k rows classified in 40 s for $0.50 with a decision model, vs 32 min and $37 with an LLM (21 Sep 2026). (https://x.com/motherduck/status/2102077291081896307) ### Support triage - **For:** Heads of support at SaaS and e-commerce teams with thousands of tickets a month - **Job:** Before you hand tickets to AI, see how much work stays with people and what people and machines cost, so you can defend the budget and the hiring plan. - **Money lever:** Agent hours · hiring - **Flow:** IN → ASK → GT → HUMAN → AUTO ### Refund and approval thresholds - **For:** Ops and risk teams in e-commerce and fintech - **Job:** Pick the auto-approve threshold in dollars: losses from wrong approvals against the cost of manual review, for every gate. - **Money lever:** Losses · review cost - **Flow:** IN → ASK → GT → FN → HUMAN ### Email and document intake - **For:** Operations in finance, legal and real estate - **Job:** Thousands of emails and PDFs a week: see how much can be sorted automatically and how much goes to people, so you don’t hire for the peaks. - **Money lever:** Staff hours - **Flow:** IN → LD → ASK → AUTO → HUMAN - **Public data point:** Nathan Wilbanks: 63,045 emails categorised in 2 min 54 s, 23.4M input tokens, $0.98 (18 Sep 2026). (https://x.com/NathanWilbanks_/status/2101035975694483914) ### Moderation and trust & safety - **For:** T&S teams and builders of community bots - **Job:** Before you auto-remove or auto-reply, find the balance between false positives, moderator load and wait time. - **Money lever:** Moderator load · risk - **Flow:** IN → ASK → GT → HUMAN → END ### Paper screening - **For:** Systematic-review teams in pharma, universities and consulting - **Job:** Planning a review of thousands of abstracts: estimate how many people still have to read at the recall you need, to set the budget and the deadline. - **Money lever:** Expert hours - **Flow:** IN → ASK → S → GT → HUMAN ### Automation agencies - **For:** Agencies and integrators selling AI automation (n8n, Make, custom) - **Job:** Show a client the flow, the economics and the load on their people in ten minutes — and price the project on numbers. - **Money lever:** Deal conversion - **Flow:** IN → ASK → LLM → FN → END ## Compare Most teams estimate in a spreadsheet, trust a vendor’s ROI calculator, or build first and measure with observability. Each answers a different question. | Question | VARIA | Spreadsheet | Flowcost.ai | Vendor ROI calculator | LLM observability | Workflow builder | |---|---|---|---|---|---|---| | Answers before anything is built | yes | yes | yes | yes | no | no | | A distribution, not one number (Monte Carlo, p50 / p95) | yes | no | deterministic | no | measured, after launch | per run, after launch | | Models probabilities, confidence gates and routes | yes | manual | retry & escalation rules | no | no | no | | Counts the work left to people | yes | manual | no | vendor’s numbers | no | no | | Your flow, your prices | yes | yes | yes | no | yes | yes | | A coding agent can drive it (MCP / CLI) | yes | no | brief export; CLI soon | no | API | partly | | Measures real accuracy | next: calibrate | no | no | no | yes | evals | Competitor capabilities as published on their sites on 8 October 2026 (flowcost.ai, langfuse.com, smith.langchain.com, helicone.ai, n8n.io, dify.ai, vellum.ai). Tell us if something changed. When VARIA is the wrong tool: - Your flow already runs in production with good traces — start from your observability data. VARIA’s next step is to compare its expected shares with those traces. - You are tuning the accuracy of one prompt — use an eval tool. - There are no decisions in your pipeline, just one LLM call — a price calculator is enough. ## Field notes ### We asked 1,789 public posts what hurts. Hacker News (503) and 19 subreddits (1,286), last 12 months. Each post was typed by a decision model with six questions in one request: is it about AI decisions over a stream, is the pain the author’s own, which job, which pain, any buying signal, who is writing. Cost $0.11, 1,789 calls, 0 errors. On topic: 551. First-hand pain: 252. - LLM cost of classification & routing: 122 (73 with a buying signal) - Support triage: 61 (misroutes 21 · people 17) - Email & documents: 19 - Approvals: refunds, KYC, payments: 11 - Hiring & leads: 9 - Moderation: 6 - Agencies: 4 - Paper screening: 0 (not discussed there) Limits: the sample is defined by our search queries, not a census. A spot check found 3–4 off-topic posts in 24. ### A decision call is not a 300 ms constant. The demo assumes 300 ms per decision-model call. Our own logs, from a client on consumer broadband far from the API region, over HTTP/2 with keep-alive: the model itself answers in about 60 ms; the network and the queue make the rest, and the tail moves with the time of day. That is why latency in VARIA is a per-step input. Set it from your own logs. | Source | Calls | p50 ms | p95 ms | When | |---|---|---|---|---| | Server time | 3,034 | 60 | 107 | 30 Sep, off-peak | | Client, off-peak | 3,034 | 382 | 857 | 30 Sep, 00:02–05:52 UTC | | Client, busy hours | 7,257 | 1184 | 4074 | 29 Sep, to 15:37 UTC | - **MotherDuck** (21 Sep 2026): 100k rows classified in SQL: 40 s and $0.50 with a decision model; 32 min and $37 with an LLM. https://x.com/motherduck/status/2102077291081896307 - **Nathan Wilbanks** (18 Sep 2026): 63,045 emails categorised in 2 min 54 s: 23.4M input tokens, $0.98 (output is free). https://x.com/NathanWilbanks_/status/2101035975694483914 > “Text classification in MotherDuck just got ~50x faster at ~1% of the cost.” — MotherDuck, post on X, 21 September 2026 (https://x.com/motherduck/status/2102077291081896307) ## What’s real, what’s modelled, what’s next **Real today** - Costs: tokens × public price ($0.042 per 1M input tokens for Jev, output free) plus the LLM price you enter. Every sum in the demo recomputes to the dollar. - Paths and shares: every item walks your flow; 10,000 items with a fixed seed. - Request JSON: the exact request your flow would send to the decision model. **Modelled — your assumptions** - Answer shares, confidence and latency per step — you set them. - Wrong routes: if confidence is calibrated, a ticket routed at confidence c is wrong with probability 1 − c. Each costs what you enter (default: one reroute touch). - People-only baseline: a person triages every ticket and writes every refund reply; manual misroutes are not counted. - Replay is an animation of the simulation, not live calls. **Next** - A price per human outcome, wrong routes, “all-in with people”, “share with no human”, agents needed and the saving against people-only. The calculators on this page already add them; the bench gets them next. - The same random draws in every what-if (common random numbers), so only your change moves the numbers. This page’s engine already works this way. - Calibrate on your own labelled sample (~200 items) with your own key. - Thresholds in dollars: the gate where people + mistakes + machines cost least. The calculator on this page already finds it for the demo flow. - People as capacity: agents per shift and the queue at peak. - Expected shares as a production baseline, to catch drift. - Flow → code: from the bench to a running pipeline. ## FAQ ### What is VARIA? VARIA is a decision-flow simulator for AI pipelines. You compose a flow of AI decisions: decision-model questions (Noul, Choice, Score), LLM steps, code rules, confidence gates and human handoffs. VARIA runs 10,000 items through it and shows cost per 1M items, p50 and p95 wait, decision calls per item and the share of work that reaches a person, before you build the pipeline. ### Who is VARIA for? Two groups first: engineers whose LLM classifies or routes and whose bill keeps growing, and heads of support or operations deciding how much of a queue to hand to AI. Agencies that sell automation use it to show a client the economics of a flow. ### What does AI customer support cost per ticket? In the VARIA demo support flow (modelled), the machines cost about $0.0010 per ticket: one decision-model call plus an LLM reply for refund requests. People still touch 28% of tickets, 0.30 touches per ticket on average, so at $3 a touch the people cost about $0.90 per ticket. Wrong routes add about $0.42 if confidence is calibrated, for $1.32 all in, against $4.17 when people triage every ticket. Use your own prices; Gartner put a live-channel contact at $8.01 in 2019. ### How much of a support queue can AI handle? It depends on how your flow routes uncertain and sensitive tickets. In the VARIA demo flow, 72% of tickets finish without a person and 28% reach one: unclear team or low confidence (13%), urgent pages to on-call (14%) and refund replies held for review (3.0%). VARIA shows this split for your own flow before you automate. ### How do I estimate the cost of an LLM pipeline before building it? List the steps, the tokens each step reads and the share of items that reaches each step. Cost per item is the sum of tokens × price × share, plus the per-call price of LLM steps times their share. Wait time comes from the mix of paths: add up step latencies along each path, then read p50, p95 and the mean across items. VARIA does this by simulating 10,000 items through the flow. ### How much does a Jev request cost? Jev by TypeSafe is priced at $0.042 per 1M input tokens; output is free. A support ticket with three questions in one request reads about 580 tokens, so a request costs about $0.0000244 and a million of them about $24.36. Several questions about the same text in one request are billed once for the text. VARIA is not affiliated with TypeSafe. ### How does VARIA calculate the cost per million decisions? It multiplies the tokens each step reads by the public price ($0.042 per 1M input tokens for Jev; output is free), multiplies by the share of items that reach the step, and adds the per-call price you enter for LLM steps. Code steps cost $0. In the demo support flow that comes to $1,037 per million tickets: $27.49 of decision-model calls and $1009.20 of LLM replies. ### Are the simulated numbers measurements? No. Costs follow published pricing, but answer shares, confidence and latency are assumptions you set. The next step is calibration: run the flow on about 200 of your labelled items with your own key and replace the assumptions with measured shares and accuracy. ### How is VARIA different from LLM observability tools like Langfuse or LangSmith? Observability measures a pipeline that already runs: traces, cost, latency and evals from real traffic. VARIA estimates a pipeline before it exists and lets you compare designs. They work together: model the flow in VARIA, ship it, then compare the expected shares with what your traces show. ### How is it different from a vendor’s AI ROI calculator? A vendor’s calculator uses the vendor’s assumptions about their own product. VARIA models your flow with your prices and keeps every human outcome visible, so you see the work that stays with people next to the machine cost. ### What are Noul, Choice and Score? They are Jev’s three question types. Noul returns the probability of yes. Choice picks one of up to 255 options and returns a confidence. Score returns a level on a scale of 2 to 10 levels, with a confidence. Several questions about the same text can go in one request; they are answered in parallel and the text is billed once. ### Is VARIA affiliated with TypeSafe or Jev? No. VARIA is an independent project. It models flows built on decision models such as Jev by TypeSafe and uses their public pricing. Jev is a trademark of its owner. ### Can Claude Code or another coding agent use VARIA? Yes. VARIA has an MCP server (tools such as get_flow, set_expected_share and add_step) and a CLI with a simulate command, so an agent can change the flow from a plain-English request and re-run the simulation. This website also exposes demo tools to browser agents through WebMCP. ### Why does p50 latency jump in some what-if scenarios? A median moves only when half of the items change path. If a fast path takes 0.3 s and a slow LLM path 6.6 s, p50 stays at 0.3 s until 50% of items take the slow path, then jumps to 6.6 s. Always read p50 with p95, the mean and the share on the slow path. ### Where does my data go? What you send in the request form comes to the VARIA team and is used only to model your flow. The bench itself is a single HTML file that runs locally. Calibration, when it ships, will call the decision model with your own API key, so your examples go only to the provider you already use. ### How much does VARIA cost, and how do I get access? VARIA is in preview and has no public pricing yet. Send us your flow through the form: we model the first flows for free and send you the numbers. Access to the bench for design partners is planned. ## Glossary - **Decision flow:** A chain of AI decisions, code rules and handoffs that every item walks until it reaches an outcome handled by a machine or a person. - **Decision model:** A fast, cheap model that returns probabilities for typed questions (yes/no, multiple choice, scales) instead of generating text, for example Jev by TypeSafe. - **Noul:** A yes/no question answered with the probability of yes. - **Choice:** A question with up to 255 options, answered with a probability per option and a confidence. - **Score:** A question answered with a level on a scale of 2 to 10 levels, with a confidence. - **Confidence gate:** A step that sends items below a confidence threshold to a person or a slower check. - **Path confidence:** The combined confidence of all decisions on the path an item took to its outcome. - **Human touch:** Any outcome where a person handles the item: triage, on-call page, review, escalation. - **Monte Carlo simulation:** Running many random items through a model of the flow to estimate the distribution of outcomes, cost and wait. - **Common random numbers:** Reusing the same random draws across what-if scenarios, so only the change you made moves the results. - **p50 / p95:** The wait that half of the items stay under (median) and that 95% stay under (tail). - **Decision request:** One call to a decision model with the item text and several typed questions; the text is billed once. - **Request JSON:** The request a decision step would send to the decision model: the item text plus its typed questions. ## Send us your flow. Get the numbers back. Describe the decisions your pipeline makes and the volume. We model it in VARIA and send you cost per 1M, the wait, and the share that lands on people. Free for the first design partners. Request form: https://heyvaria.com/#model-my-flow --- VARIA is an independent project and is not affiliated with TypeSafe. Jev is a trademark of its owner. Updated 2026-10-28.