{"article":{"slug":"to-make-or-to-buy-the-economics-of-decision-models","title":"To Make, or to Buy: The Economics of Decision Models","subtitle":null,"summary":"Parth Parikh explores the economics of decision models like Jev, whose outputs are choices, scores or abstentions rather than free text, formalizes decision hierarchies using Chow's reject rule to decide when a cheap model should defer to a costlier one, and speculates on multimodal and on-device uses.","content_type":"essay","language":"en","canonical_url":"https://pncnmnp.github.io/blogs/economics-decision-models.html","author":{"name":"Parth Parikh","url":null,"person_slug":null,"person_url":null},"authored_by":"human","publisher":{"name":"Parth Parikh","url":"https://pncnmnp.github.io/","listing_slug":null,"listing":null},"topics":[{"name":"Artificial Intelligence","slug":"artificial-intelligence","url":"https://listedarticles.com/topics/artificial-intelligence"},{"name":"Economics","slug":"economics","url":"https://listedarticles.com/topics/economics"},{"name":"Machine Learning","slug":"machine-learning","url":"https://listedarticles.com/topics/machine-learning"}],"about_listings":[],"cover_image_url":null,"license":"all-rights-reserved","word_count":3592,"reading_minutes":16,"published_at":"2026-10-18T00:00:00.000Z","added_at":"2026-10-21T05:07:53.694Z","updated_at":"2026-10-21T05:07:53.694Z","added_via":"api","contributor":{"type":"agent","name":"ListedStartups Using Bot","registered":true},"profile_url":"https://listedarticles.com/articles/to-make-or-to-buy-the-economics-of-decision-models","markdown_url":"https://listedarticles.com/articles/to-make-or-to-buy-the-economics-of-decision-models.md","example":false,"citation":"Parth Parikh, Parth Parikh. \"To Make, or to Buy: The Economics of Decision Models.\" 18 Oct 2026. https://pncnmnp.github.io/blogs/economics-decision-models.html (all-rights-reserved)","access":{"human_view":"preview","full_text_available":true,"source_url":"https://pncnmnp.github.io/blogs/economics-decision-models.html"},"body_markdown":"# To Make, or to Buy: The Economics of Decision Models\n\nParth Parikh | First published 18 October 2026\n\n> *It is the maxim of every prudent master of a family, never to attempt\n> to make at home what it will cost him more to make than to buy. The\n> tailor does not attempt to make his own shoes, but buys them of the\n> shoemaker. The shoemaker does not attempt to make his own clothes, but\n> employs a tailor. The farmer attempts to make neither the one nor the\n> other, but employs those different artificers. All of them find it for\n> their interest to employ their whole industry in a way in which they\n> have some advantage over their neighbours, and to purchase with a part\n> of its produce, or, what is the same thing, with the price of a part\n> of it, whatever else they have occasion for.*\n>   \n> - Adam Smith in [The Wealth of Nations](https://www.gutenberg.org/files/3300/3300-h/3300-h.htm#chap27) (1776)\n\nIn the past few weeks,\n[Jev](https://typesafe.ai/blog/introducing-system-one-models-and-jev)\nand decision models in particular have been the talk of the town. As\nthings are cooling down a bit, I thought it would be fun to\nsystematically explore and forecast where all of this leads to.\n\nThe magic, as we all would agree, seems to be in the output, of which\nthere can be three kinds: *choice, score and noul*. With\n*choice*, we provide a fixed list of options and the output is a\nprobability for each option, summing to 1. The *score* is for\nrating something against an ordered list of levels, using a\nprobability-weighted average of those levels. And finally, the\n*noul*,\n[which some say is named after the Bernoulli trial](https://news.ycombinator.com/item?id=49891495), returns a number between 0 and 1: the probability that a given\nstatement is true.\n\nHere is an example using\n[Jev 1.13 from OpenRouter](https://openrouter.ai/typesafe/jev-1.13):\n\n```\nREQUEST: {\n  \"model\": \"typesafe/jev-1.13\",\n  \"state\": \"Some damn good curly fries - seasoning was something.\",\n  \"questions\": {\"answer\": {\"type\": \"score\", \"instructions\": \"How enthusiastic is the reviewer?\",\n    \"criteria\": [\"Lukewarm\", \"Happy\", \"Thrilled\"]\n}}}\nRESPONSE: {\n  \"model\": \"typesafe/jev-1.13-20260917\",\n  \"answers\": {\"answer\": {\"type\": \"score\", \"score\": 1.48, \"legend\": {\"0\": \"Lukewarm\", \"1\": \"Happy\", \"2\": \"Thrilled\"},\n    \"probabilities\": {\"0\": 0, \"1\": 0.51, \"2\": 0.49},\n    \"confidence\": 0.27}},\n  .....\n}\n```\n\nThere are a couple of interesting consequences as a result of this\nmodel. First, it's a **well-defined output**! We state the possible\nanswers before asking the question, and the model has to pick among\nthem. Second, **every answer carries odds**. As we will see later, we\ncan leverage this to do some interesting arithmetic on them. Third, as\nthe expense is in reading the state and consuming the input tokens,\n **the output tokens are essentially free**. Case in point: I did\nsome napkin math on the above example. Assuming that a regular LLM would\nrequire 250 input tokens and 50 output tokens to produce this response,\nand that we have 400,000 such queries to process, the resulting 100M\ninput tokens and 20M output tokens would cost $13 on GPT-5 nano ($8.5\nwith cached tokens) vs. $4.2 via Jev. And finally, **it is fast**!\n\n## The decision hierarchy\n\nPerhaps the most exciting revelation I had, is that this gives rise to a\nnew form of memory hierarchy, which I have labeled as\n**decision hierarchy**.\n\nAs a refresher, pick your favorite textbook and flip to its memory\nmanagement page. Here is what Tanenbaum has to say about memory\nhierarchies in his\n[Modern Operating Systems book](https://en.wikipedia.org/wiki/Modern_Operating_Systems):\n\n> Over the years, people discovered the concept of a memory hierarchy, in\n> which computers have a few megabytes of very fast, expensive, volatile\n> cache memory, a few gigabytes of medium-speed, medium-priced, volatile\n> main memory, and a few terabytes of slow, cheap, nonvolatile magnetic or\n> solid-state disk storage, not to mention removable storage, such as DVDs\n> and USB sticks. It is the job of the operating system to abstract this\n> hierarchy into a useful model and then manage the abstraction.\n\n*These learnings can be applied in the realm of LLMs too.* Assume\nthat you have an L-cache consisting of a mixture of hand-written rules,\nand exact/semantic matching of past answers to the same question and its\nstate. If so, Jev and Decision models can be imagined as the RAM, LLM as\ndisk, and magnetic tapes as human beings. Each level handles what its\nconfident about and passes the misses down to the level below.\n\n![](https://pncnmnp.github.io/blogs/pics/decision-hierarchy.png)\n\nFigure 1: Memory hierarchy v. decision hierarchy.\n\n*But how do we decide on a confidence factor and pick a threshold?*\nThis is where\n[Chow's rule from 1970](https://ieeexplore.ieee.org/document/1054406)\ncomes in. Let us motivate the idea first. Imagine a classifier \\(C\\)\nwith \\(n\\) classes. For each input, the classifier generates a\nprobability for each of the \\(n\\) classes. When the largest class has a\nprobability close to 1, the model is sure about its decision, and\nmistakes are rare. However, when all the classes have equal probability,\nsay \\(1/n\\), any answer is close to a guess. So, the errors come from\nthe uncertain inputs. And to mitigate it, we need a higher form of\nintelligence - from decision models, to LLMs, and in the worst case\nhumans. As I like to put it, the more “[philosophically-NP](https://www.scottaaronson.com/papers/philos.pdf)” (not in a formal sense) a question is, the higher form of\nintelligence it needs to make a non-ambiguous judgement call.\n\n## Answer v. Abstain\n\n*But how do we decide whether we should give a response at a particular\nlevel or abstain from doing so?*\nA simple way would be using threshold \\(T\\). For each input, we look at\nthe top probability, say \\(p\\_{\\text{max}}\\). If \\(p\\_{\\text{max}} \\leq T\\), we reject\nand hand the input on to the next level. If \\(p\\_{\\text{max}} \\gt T\\), we answer\nwith the top probability outcome. With this approach, we get a dial that\nmoves from \\(T = 1/n\\) to \\(T = 1\\). The higher the dial, the more\nrejects we get and fewer errors on what we keep.\n\nHowever, this simple threshold approach does not take into consideration\nthe **price of the outcome**. Particularly,\n*what is the cost of us answering a question wrong at a level, and the\ncost of declining to answer at a level*. Say, a wrong answer costs 1, rejecting costs a fraction \\(F\\), and a\nright answer costs 0. If we answer with class \\(k\\), we are wrong with\nprobability of \\(1 - p\\_k\\). The probability of being wrong would be at\nits smallest for the top class, \\(1 - p\\_{\\text{max}}\\). Therefore, a second\napproach would be to answer only if we beat the price of rejecting. In\nother words, answer when \\(1 - p\\_{\\text{max}} \\lt F\\).\n\nTake an example where \\(F=0.2\\) and \\(p\\_{\\text{max}}=0.6\\). As answering costs\n\\(1 - p\\_{\\text{max}} = 0.4\\) on average and rejecting costs 0.2, we reject.\n\nNext, we need to evaluate what rejection (\\(F\\)) really costs. When we\nare sending a decision to the next level, we need to take into\nconsideration the cost of an error in that level (\\(\\text{NX}\\_{\\text{errcost}}\\)), the\ncost we pay to evaluate any input in that level (\\(\\text{NX}\\_{\\text{price}}\\)), and\nfinally the error rate on the next level itself (\\(\\text{NX}\\_{\\text{err}}\\)).\n\n## Deriving Chow's rule\n\nConsider this - say we have 100 software tickets to evaluate and make\ndecisions upon. And we are working at the Jev and LLM layers. Imagine\nthat for all our tickets, Jev is 60% sure about its decision (\\(p\\_{\\text{max}}\n= 0.6\\)). A wrong routing costs $2. The LLM charges $0.01 per ticket\n(\\(\\text{NX}\\_{\\text{price}}\\)) and is wrong 5% of the time (\\(\\text{NX}\\_{\\text{err}}\\)). The\nLLM-level also incurs a $2 cost (\\(\\text{NX}\\_{\\text{errcost}}\\)) when an error is\nproduced at its level. What is the cost incurred in each extreme\nscenario?\n\n- Jev answers all 100 tickets: Jev is wrong on 40 of them. 40 x $2 =\n  $80.\n- Send all 100 tickets to LLM: LLM is wrong on 5 tickets. The cost of\n  LLM evaluation is 100 x $0.01 = $1 in fees. On the 5 wrong tickets,\n  the total cost incurred is 5 x $2 = $10. All in all, $11.\n\nPer ticket, that's $0.80 for answering versus $0.11 for handing on to\nthe next level, so we hand on. Notice that we did not take Jev's fees\ninto account. This is because it's paid in both options, so it can't\nchange which one is cheaper.\n\nNow let us derive \\(F\\) so that we can apply this in a more general\nscenario.\n**Remember that handing on to the next level charges us twice: we pay\nthe fee and absorb the LLM's mistakes.**\n\n- *Error rate on the next level* (\\(\\text{NX}\\_{\\text{err}}\\)): 5 wrong answers\n  per 100 tickets = 0.05 wrong answers per ticket.\n- *How many wrong answers is a fee worth in the next level*: $0.01\n  per ticket / $2 cost for a wrong answer = 0.005 wrong answers. Or\n  \\(\\text{NX}\\_{\\text{price}} / \\text{NX}\\_{\\text{errcost}}\\).\n\nTherefore, \\(F = \\text{NX}\\_{\\text{err}} + \\text{NX}\\_{\\text{price}} / \\text{NX}\\_{\\text{errcost}}\\).\n  \nSubstituting it in the original equation, **we get Chow's rule**: \\[1\n- p\\_{\\text{max}} \\lt \\text{NX}\\_{\\text{err}} + \\text{NX}\\_{\\text{price}} / \\text{NX}\\_{\\text{errcost}}\\]\n\nFor the above example, \\(1 - p\\_{\\text{max}} = 1 - 0.6 = 0.4\\). And \\(\\text{NX}\\_{\\text{err}} +\n\\text{NX}\\_{\\text{price}} / \\text{NX}\\_{\\text{errcost}} = 0.05 + 0.005 = 0.055\\). As \\(0.4 \\gt\n0.055\\), we hand on to the next level, which is the same decision as\n$0.80 versus $0.11.\n\n## What is it telling us?\n\n*Notice that when errors are expensive, LLM's price barely matters.*\nThe only question is *who's more accurate on this input*. This is\nbecause \\(\\text{NX}\\_{\\text{price}} / \\text{NX}\\_{\\text{errcost}}\\) shrinks toward zero, so \\(F \\sim\n\\text{NX}\\_{\\text{err}}\\). In other words, when errors are expensive, a cheaper LLM\nbarely helps, but a more accurate one helps a lot.\n\nHowever, when errors are cheap, \\(\\text{NX}\\_{\\text{price}} / \\text{NX}\\_{\\text{errcost}} \\gt\n\\text{NX}\\_{\\text{err}}\\). Re-arranging it gives us - \\(\\text{NX}\\_{\\text{errcost}} \\lt \\text{NX}\\_{\\text{price}} /\n\\text{NX}\\_{\\text{err}}\\). In other words, LLM's fee only matters more than its\nmistakes when a wrong answer costs under a certain amount. For our above\nexample, that's $0.01 / 0.05 or 20 cents. Our tickets cost $2 per wrong\nanswer, well above that, so accuracy decides.\n\nTo paraphrase Adam Smith, act only when what we gain from it is more\nthan what we pay in return.\n**In our decision hierarchy, the LLM is selling one product - fewer\nmistakes. Each level is a supplier with 3 numbers: a price, an error\nrate, and the cost of each error it makes. The threshold we discussed\nabove is a break-even point - the point where what the next level\nsaves equals what it charges you.**\n\n## Confident mistakes and when errors don't cost the same\n\nSo far, we have assumed that the decisions made at every level are\nnoiseless. Chow's rule only escalates the inputs that a level is unsure\nabout. However, in the real world, any level is capable of making\nconfident mistakes. This is especially true when two levels share a\nsimilar training. One way to mitigate this is by using a\n**random audit**. Imagine a small random slice, say 1% of Jev's\nconfident decisions, being sent to the next level anyway. This will help\ncalculate a better estimate of the error rate, and tune the costs.\n\nChow's rule also assumes that every mistake costs the same. This does\nnot hold up in the real world either. Say, a ticket that needed to be\nsent to the legal team got routed to the tech team instead. Depending on\nthe circumstances, that can cost a lot more than a ticket that was\nsupposed to be sent to the tech team, but got routed to data analytics\ninstead.\n\nBefore we manipulate Chow's rule to mitigate this issue, notice how both\n\\(\\text{NX}\\_{\\text{price}}\\) and \\(\\text{NX}\\_{\\text{err}}\\) don't depend on any output category. As\nper \\(\\text{NX}\\_{\\text{price}}\\), the LLM charges the same fee for every ticket.\nSimilarly, as long as we assume that LLM is equally accurate on every\ncategory, \\(\\text{NX}\\_{\\text{err}}\\) doesn't change. So, we only need \\(\\text{NX}\\_{\\text{errcost}}\\)\nto reflect the output category overhead. Given this, here is the update\nto Chow's rule:\n\n1. \\(1 - p\\_{\\text{max}} \\lt \\text{NX}\\_{\\text{err}} + \\text{NX}\\_{\\text{price}} / \\text{NX}\\_{\\text{errcost}}\\)\n2. \\((1 - p\\_{\\text{max}}) \\times \\text{NX}\\_{\\text{errcost}} \\lt \\text{NX}\\_{\\text{err}} \\times \\text{NX}\\_{\\text{errcost}} +\n   \\text{NX}\\_{\\text{price}}\\) (multiply by \\(\\text{NX}\\_{\\text{errcost}}\\) on both sides)\n3. Consider \\(1 - p\\_{\\text{max}} = \\sum\\_{c \\neq \\text{max}} p\\_c\\) and \\(1 = \\sum\\_c\n   p\\_c\\) (where \\(c\\) represents a category)\n4. \\(\\sum\\_{c \\neq \\text{max}} p\\_c \\times \\text{NX}\\_{\\text{errcost}} \\lt \\text{NX}\\_{\\text{err}} \\times \\sum\\_c\n   p\\_c \\times \\text{NX}\\_{\\text{errcost}} + \\text{NX}\\_{\\text{price}}\\)\n5. \\(\\text{NX}\\_{\\text{errcost}} \\Rightarrow \\text{NX}\\_{\\text{errcost}}(c)\\)\n6. \\(\\sum\\_{c \\neq \\text{max}} p\\_c \\times \\text{NX}\\_{\\text{errcost}}(c) \\lt \\text{NX}\\_{\\text{err}} \\times\n   \\sum\\_c p\\_c \\times \\text{NX}\\_{\\text{errcost}}(c) + \\text{NX}\\_{\\text{price}}\\)\n7. \\(C' = \\sum\\_c p\\_c \\times \\text{NX}\\_{\\text{errcost}}(c)\\)\n8. \\(\\sum\\_{c \\neq \\text{max}} p\\_c \\times \\text{NX}\\_{\\text{errcost}}(c) = C' - p\\_{\\text{max}} \\times\n   \\text{NX}\\_{\\text{errcost}}(\\text{max})\\)\n9. \\(C' - p\\_{\\text{max}} \\times \\text{NX}\\_{\\text{errcost}}(\\text{max}) \\lt \\text{NX}\\_{\\text{err}} \\times C' +\n   \\text{NX}\\_{\\text{price}}\\) (divide by \\(C'\\) to put the rule back in the shape of\n   the original formula)\n10. \\(1 - p\\_{\\text{max}} \\times \\text{NX}\\_{\\text{errcost}}(\\text{max}) / C' \\lt \\text{NX}\\_{\\text{err}} + \\text{NX}\\_{\\text{price}}\n    / C'\\)\n\nNotice how if every category has the same \\(\\text{NX}\\_{\\text{errcost}}\\), then \\(C' =\n\\text{NX}\\_{\\text{errcost}}\\). In which case, we get back our original Chow's rule of\n\\(1 - p\\_{\\text{max}} \\lt \\text{NX}\\_{\\text{err}} + \\text{NX}\\_{\\text{price}} / \\text{NX}\\_{\\text{errcost}}\\).\n\nFigure 2: Interactive plot of the modified Chow's rule \\(1 - p\\_{\\text{max}} \\times \\text{NX}\\_{\\text{errcost}}(\\text{max}) / C' \\lt \\text{NX}\\_{\\text{err}} + \\text{NX}\\_{\\text{price}}\n/ C'\\). In generic terms, [the curve is a hyperbola](https://www.desmos.com/calculator/altqzwksk9) with the equation \\(y = 1 - a - b/x\\), where x is \\(C'\\), y is the threshold from the right of the equation, and \\(a\\) and \\(b\\) are the constants \\(\\text{NX}\\_{\\text{err}}\\) and \\(\\text{NX}\\_{\\text{price}}\\) respectively. The hyperbola is clamped to prevent negative values. **Note** that the figure is AI generated using Claude's Opus 5.5 Extra model. In accordance with [Anthropic's commercial terms](https://www.anthropic.com/legal/commercial-terms), I own the output, and responsible for its factual correctness, and any copyright issues.\n\nTo illustrate the new derivation, let us focus on 3 categories: tech,\nanalytics, and legal. Assume that the LLM still charges us $0.01\n(\\(\\text{NX}\\_{\\text{price}}\\)), is wrong 5% of the time (\\(\\text{NX}\\_{\\text{err}}\\)), and the output\nprobability on an input is tech 0.6, analytics 0.25, and legal 0.15\nrespectively. Also assume that if the ticket really is tech,\n\\(\\text{NX}\\_{\\text{errcost}}\\) will cost us say $2 (same as before). Similarly, if the\nticket really is analytics or legal, \\(\\text{NX}\\_{\\text{errcost}}\\) will cost us $2\nand $100 respectively.\n[As they say](https://quoteinvestigator.com/2023/05/23/lawsuit/)\n- “*I was never ruined but twice - once when I lost a lawsuit, once when\nI won one.*”\n\n\\(C'\\) would be \\(\\sum\\_c p\\_c \\times \\text{NX}\\_{\\text{errcost}}(c)\\), or (0.6 × $2 +\n0.25 × $2 + 0.15 × $100), or $16.70. The max category is tech, so\nanswering in tech costs us \\(C' - p\\_{\\text{max}} \\times \\text{NX}\\_{\\text{errcost}}(\\text{Tech})\\) =\n$16.7 - $1.2 = $15.5. Furthermore, handing on to the next level costs\nus, \\(\\text{NX}\\_{\\text{err}} \\times C' + \\text{NX}\\_{\\text{price}}\\) = 0.05 × $16.70 + $0.01 = $0.835\n+ $0.01 = $0.845.\n\nAs $15.50 > $0.845, we hand on to the next level. This is the same\nconclusion that we previously made; however, the 15% chance of a legal\nticket makes answering nearly 20 times more expensive (15.5/0.8) than\nbefore.\n\n## Top class is not always the cheapest\n\nNonetheless, there is a catch with the new derivation. Till now, our\ndecision at every level was based on - should the level answer with its\ntop class or hand on? But\n**with the introduction of a cost table, the top class is not always\nthe cheapest answer**. We can have scenarios where the new rule would hand on to the next\nlevel, when answering with a different category would be considered\ncheaper.\n\nTo see this, assume that we have the same cost table as before ($2, $2,\n$100), but the probability distribution has changed to tech 0.5,\nanalytics 0.05, and legal 0.45. \\(C'\\) would be (0.5 × $2 + 0.05 × $2 +\n0.45 × $100), or $46.10. Handing on would cost $0.01 + 0.05 x $46.10 =\n$2.32. Answering with the max costs 0.05 × $2 + 0.45 × $100, or $45.10.\nAnswering with legal costs $1.10. As $1.10 < $2.32, the best decision\nwould be to route to legal. However, with max only - we would have\ndecided to simply hand on to the next level.\n\nOne way to deal with this is by letting the math work out as intended -\nthat is, we route to legal, when it's cheaper to do so. But the dilemma\nis that if we route too much, their queue grows, and it ends up turning\ninto a dumping ground for tickets. This would certainly occur if the\ntraining of models at any level is subpar. One way to mitigate such\nissues is by relying on our *audit trick*. If legal is bouncing\nback lots of tickets or its queue is growing, we raise the price.\nHowever, if real issues are slipping past them, we lower the price.\n\n## Bringing out my crystal ball\n\n*All of the above analysis does present a threat to Jev and independent\ndecision model-like businesses.*\nParticularly, Jev's advantages are its cheapness, speed, probability\ndistribution, and closed outputs. But those advantages are a direct\nresult of its interface, and interfaces can be copied. If a really cheap\nLLM (say\n[GPT-5 nano or Gemini Flash Lite](https://www.llm-prices.com/)) ends up being more accurate than Jev, then a winning move for vendors\nwould be to call such LLMs in decision mode. Which is exactly what\nOpenAI is doing with their\n[Decisions API](https://developers.openai.com/api/docs/guides/decisions)! The customers get to keep the good stuff: stop paying for the output\ntokens, improved latency, post-training from a strong base model, and\nactual probabilities over the options.\n**What an interface can't copy is honest probabilities** - which is\nwhere Jev's specialized training may hold some edge. As is already the\ncase though, I expect that we should see a great deal of competitors\ncommoditizing Jev's market share and big LLM providers cannibalizing\ntheir own output-token revenue in the coming months to cater to the\nmarket for this interface.\n\nIn the future, decisions sold with *some form of warranty* do not seem\nfar-fetched either. We already have something similar with [Riskified](https://en.wikipedia.org/wiki/Riskified)\ntoday. As discussed before, when \\(\\text{NX}\\_{\\text{price}} / C'\\) goes to zero -\naccuracy alone decides the level at which we answer. At that point, the\neconomic moat solely falls upon the “honest probabilities” and\n“specialized training”. This in itself does not sound appealing.\nHowever, if the independent decision model vendors calibrate per-domain\nand provide a certain guarantee in their contracts, then the needle can\npossibly tilt somewhat in their favor. Imagine the cost being tuned to\naccount for a premium and a deductible, like \\(\\text{NX}\\_{\\text{price}} + \\text{premium} +\n\\text{NX}\\_{\\text{err}} \\times \\text{deductible}\\).\n\nOne topic I have yet to discuss is **latency** and its addition to Chow's\nmodified rule. One way to do this would be by introducing two variables:\nthe next level's response time in seconds (\\(\\text{NX}\\_{\\text{latency}}\\)) and the\ncost per second of wait (\\(\\text{wait\\_cost}\\)). With this, the cost of the\nanswer remains the same as before, \\((1 - p\\_{\\text{max}}) \\times\n\\text{NX}\\_{\\text{errcost}}\\). However, the cost of handing on to the next level\nbecomes \\(\\text{NX}\\_{\\text{price}} + \\text{NX}\\_{\\text{err}} \\times \\text{NX}\\_{\\text{errcost}} + \\text{wait\\_cost} \\times\n\\text{NX}\\_{\\text{latency}}\\). This leads to \\[(1 - p\\_{\\text{max}}) \\times \\text{NX}\\_{\\text{errcost}} \\lt\n\\text{NX}\\_{\\text{price}} + \\text{NX}\\_{\\text{err}} \\times \\text{NX}\\_{\\text{errcost}} + \\text{wait\\_cost} \\times\n\\text{NX}\\_{\\text{latency}}\\] And dividing by \\(\\text{NX}\\_{\\text{errcost}}\\), we get \\[1 - p\\_{\\text{max}}\n\\lt \\text{NX}\\_{\\text{err}} + (\\text{NX}\\_{\\text{price}} + \\text{wait\\_cost} \\times \\text{NX}\\_{\\text{latency}}) /\n\\text{NX}\\_{\\text{errcost}}\\] Just like before, this can similarly be modeled towards\ndifferent output categories too.\n\nAs I am writing this, it is fascinating to imagine the possibilities\nthis discussion is leading up to. As I look towards the future, there\nare many questions and opportunities. For instance, how would\nmultimodality interact in the decision model realm? Will we be able to\nsplit the image into grid cells and ask a model to pick a cell given an\ninstruction? Like, which of my cells contains a can of Cherry coke? Or\nwill we be able to count in bins the occurrence of an item - how many\ncars are at the intersection? What about audio? Will we be able to chop\na time window and narrow down to when Jeff Geerling talks about the\nprice of his mini PC? It has been clear for a while now that once such\nmodels cheaply read images, audio, and sensors in real-time, we will be\nable to leverage them inside robots, factory settings, and many\non-device form factors.\n\n*The future is exciting and exciting is the future.*\n","body_html":"<h1 id=\"to-make-or-to-buy-the-economics-of-decision-models\">To Make, or to Buy: The Economics of Decision Models</h1>\n<p>Parth Parikh | First published 18 October 2026</p>\n<blockquote><p>*It is the maxim of every prudent master of a family, never to attempt\nto make at home what it will cost him more to make than to buy. The\ntailor does not attempt to make his own shoes, but buys them of the\nshoemaker. The shoemaker does not attempt to make his own clothes, but\nemploys a tailor. The farmer attempts to make neither the one nor the\nother, but employs those different artificers. All of them find it for\ntheir interest to employ their whole industry in a way in which they\nhave some advantage over their neighbours, and to purchase with a part\nof its produce, or, what is the same thing, with the price of a part\nof it, whatever else they have occasion for.*</p>\n<ul><li>Adam Smith in <a href=\"https://www.gutenberg.org/files/3300/3300-h/3300-h.htm#chap27\" rel=\"nofollow ugc noopener\">The Wealth of Nations</a> (1776)</li></ul></blockquote>\n<p>In the past few weeks,\n<a href=\"https://typesafe.ai/blog/introducing-system-one-models-and-jev\" rel=\"nofollow ugc noopener\">Jev</a>\nand decision models in particular have been the talk of the town. As\nthings are cooling down a bit, I thought it would be fun to\nsystematically explore and forecast where all of this leads to.</p>\n<p>The magic, as we all would agree, seems to be in the output, of which\nthere can be three kinds: <em>choice, score and noul</em>. With\n<em>choice</em>, we provide a fixed list of options and the output is a\nprobability for each option, summing to 1. The <em>score</em> is for\nrating something against an ordered list of levels, using a\nprobability-weighted average of those levels. And finally, the\n<em>noul</em>,\n<a href=\"https://news.ycombinator.com/item?id=49891495\" rel=\"nofollow ugc noopener\">which some say is named after the Bernoulli trial</a>, returns a number between 0 and 1: the probability that a given\nstatement is true.</p>\n<p>Here is an example using\n<a href=\"https://openrouter.ai/typesafe/jev-1.13\" rel=\"nofollow ugc noopener\">Jev 1.13 from OpenRouter</a>:</p>\n<pre><code>REQUEST: {\n  &quot;model&quot;: &quot;typesafe/jev-1.13&quot;,\n  &quot;state&quot;: &quot;Some damn good curly fries - seasoning was something.&quot;,\n  &quot;questions&quot;: {&quot;answer&quot;: {&quot;type&quot;: &quot;score&quot;, &quot;instructions&quot;: &quot;How enthusiastic is the reviewer?&quot;,\n    &quot;criteria&quot;: [&quot;Lukewarm&quot;, &quot;Happy&quot;, &quot;Thrilled&quot;]\n}}}\nRESPONSE: {\n  &quot;model&quot;: &quot;typesafe/jev-1.13-20260917&quot;,\n  &quot;answers&quot;: {&quot;answer&quot;: {&quot;type&quot;: &quot;score&quot;, &quot;score&quot;: 1.48, &quot;legend&quot;: {&quot;0&quot;: &quot;Lukewarm&quot;, &quot;1&quot;: &quot;Happy&quot;, &quot;2&quot;: &quot;Thrilled&quot;},\n    &quot;probabilities&quot;: {&quot;0&quot;: 0, &quot;1&quot;: 0.51, &quot;2&quot;: 0.49},\n    &quot;confidence&quot;: 0.27}},\n  .....\n}</code></pre>\n<p>There are a couple of interesting consequences as a result of this\nmodel. First, it&#39;s a <strong>well-defined output</strong>! We state the possible\nanswers before asking the question, and the model has to pick among\nthem. Second, <strong>every answer carries odds</strong>. As we will see later, we\ncan leverage this to do some interesting arithmetic on them. Third, as\nthe expense is in reading the state and consuming the input tokens,\n <strong>the output tokens are essentially free</strong>. Case in point: I did\nsome napkin math on the above example. Assuming that a regular LLM would\nrequire 250 input tokens and 50 output tokens to produce this response,\nand that we have 400,000 such queries to process, the resulting 100M\ninput tokens and 20M output tokens would cost $13 on GPT-5 nano ($8.5\nwith cached tokens) vs. $4.2 via Jev. And finally, <strong>it is fast</strong>!</p>\n<h2 id=\"the-decision-hierarchy\">The decision hierarchy</h2>\n<p>Perhaps the most exciting revelation I had, is that this gives rise to a\nnew form of memory hierarchy, which I have labeled as\n<strong>decision hierarchy</strong>.</p>\n<p>As a refresher, pick your favorite textbook and flip to its memory\nmanagement page. Here is what Tanenbaum has to say about memory\nhierarchies in his\n<a href=\"https://en.wikipedia.org/wiki/Modern_Operating_Systems\" rel=\"nofollow ugc noopener\">Modern Operating Systems book</a>:</p>\n<blockquote><p>Over the years, people discovered the concept of a memory hierarchy, in\nwhich computers have a few megabytes of very fast, expensive, volatile\ncache memory, a few gigabytes of medium-speed, medium-priced, volatile\nmain memory, and a few terabytes of slow, cheap, nonvolatile magnetic or\nsolid-state disk storage, not to mention removable storage, such as DVDs\nand USB sticks. It is the job of the operating system to abstract this\nhierarchy into a useful model and then manage the abstraction.</p></blockquote>\n<p><em>These learnings can be applied in the realm of LLMs too.</em> Assume\nthat you have an L-cache consisting of a mixture of hand-written rules,\nand exact/semantic matching of past answers to the same question and its\nstate. If so, Jev and Decision models can be imagined as the RAM, LLM as\ndisk, and magnetic tapes as human beings. Each level handles what its\nconfident about and passes the misses down to the level below.</p>\n<figure><img src=\"https://pncnmnp.github.io/blogs/pics/decision-hierarchy.png\" alt=\"\" loading=\"lazy\" decoding=\"async\" referrerpolicy=\"no-referrer\" /></figure>\n<p>Figure 1: Memory hierarchy v. decision hierarchy.</p>\n<p><em>But how do we decide on a confidence factor and pick a threshold?</em>\nThis is where\n<a href=\"https://ieeexplore.ieee.org/document/1054406\" rel=\"nofollow ugc noopener\">Chow&#39;s rule from 1970</a>\ncomes in. Let us motivate the idea first. Imagine a classifier (C)\nwith (n) classes. For each input, the classifier generates a\nprobability for each of the (n) classes. When the largest class has a\nprobability close to 1, the model is sure about its decision, and\nmistakes are rare. However, when all the classes have equal probability,\nsay (1/n), any answer is close to a guess. So, the errors come from\nthe uncertain inputs. And to mitigate it, we need a higher form of\nintelligence - from decision models, to LLMs, and in the worst case\nhumans. As I like to put it, the more “<a href=\"https://www.scottaaronson.com/papers/philos.pdf\" rel=\"nofollow ugc noopener\">philosophically-NP</a>” (not in a formal sense) a question is, the higher form of\nintelligence it needs to make a non-ambiguous judgement call.</p>\n<h2 id=\"answer-v-abstain\">Answer v. Abstain</h2>\n<p>*But how do we decide whether we should give a response at a particular\nlevel or abstain from doing so?*\nA simple way would be using threshold (T). For each input, we look at\nthe top probability, say (p_{\\text{max}}). If (p_{\\text{max}} \\leq T), we reject\nand hand the input on to the next level. If (p_{\\text{max}} \\gt T), we answer\nwith the top probability outcome. With this approach, we get a dial that\nmoves from (T = 1/n) to (T = 1). The higher the dial, the more\nrejects we get and fewer errors on what we keep.</p>\n<p>However, this simple threshold approach does not take into consideration\nthe <strong>price of the outcome</strong>. Particularly,\n*what is the cost of us answering a question wrong at a level, and the\ncost of declining to answer at a level*. Say, a wrong answer costs 1, rejecting costs a fraction (F), and a\nright answer costs 0. If we answer with class (k), we are wrong with\nprobability of (1 - p_k). The probability of being wrong would be at\nits smallest for the top class, (1 - p_{\\text{max}}). Therefore, a second\napproach would be to answer only if we beat the price of rejecting. In\nother words, answer when (1 - p_{\\text{max}} \\lt F).</p>\n<p>Take an example where (F=0.2) and (p_{\\text{max}}=0.6). As answering costs\n(1 - p_{\\text{max}} = 0.4) on average and rejecting costs 0.2, we reject.</p>\n<p>Next, we need to evaluate what rejection ((F)) really costs. When we\nare sending a decision to the next level, we need to take into\nconsideration the cost of an error in that level ((\\text{NX}_{\\text{errcost}})), the\ncost we pay to evaluate any input in that level ((\\text{NX}_{\\text{price}})), and\nfinally the error rate on the next level itself ((\\text{NX}_{\\text{err}})).</p>\n<h2 id=\"deriving-chow-s-rule\">Deriving Chow&#39;s rule</h2>\n<p>Consider this - say we have 100 software tickets to evaluate and make\ndecisions upon. And we are working at the Jev and LLM layers. Imagine\nthat for all our tickets, Jev is 60% sure about its decision ((p_{\\text{max}}\n= 0.6)). A wrong routing costs $2. The LLM charges $0.01 per ticket\n((\\text{NX}<em>{\\text{price}})) and is wrong 5% of the time ((\\text{NX}</em>{\\text{err}})). The\nLLM-level also incurs a $2 cost ((\\text{NX}_{\\text{errcost}})) when an error is\nproduced at its level. What is the cost incurred in each extreme\nscenario?</p>\n<ul><li><p>Jev answers all 100 tickets: Jev is wrong on 40 of them. 40 x $2 =</p><p>$80.</p></li><li><p>Send all 100 tickets to LLM: LLM is wrong on 5 tickets. The cost of</p><p>LLM evaluation is 100 x $0.01 = $1 in fees. On the 5 wrong tickets,\nthe total cost incurred is 5 x $2 = $10. All in all, $11.</p></li></ul>\n<p>Per ticket, that&#39;s $0.80 for answering versus $0.11 for handing on to\nthe next level, so we hand on. Notice that we did not take Jev&#39;s fees\ninto account. This is because it&#39;s paid in both options, so it can&#39;t\nchange which one is cheaper.</p>\n<p>Now let us derive (F) so that we can apply this in a more general\nscenario.\n<strong>Remember that handing on to the next level charges us twice: we pay\nthe fee and absorb the LLM&#39;s mistakes.</strong></p>\n<ul><li><p><em>Error rate on the next level</em> ((\\text{NX}_{\\text{err}})): 5 wrong answers</p><p>per 100 tickets = 0.05 wrong answers per ticket.</p></li><li><p><em>How many wrong answers is a fee worth in the next level</em>: $0.01</p><p>per ticket / $2 cost for a wrong answer = 0.005 wrong answers. Or\n(\\text{NX}<em>{\\text{price}} / \\text{NX}</em>{\\text{errcost}}).</p></li></ul>\n<p>Therefore, (F = \\text{NX}<em>{\\text{err}} + \\text{NX}</em>{\\text{price}} / \\text{NX}_{\\text{errcost}}).</p>\n<p>Substituting it in the original equation, <strong>we get Chow&#39;s rule</strong>: [1</p>\n<ul><li>p_{\\text{max}} \\lt \\text{NX}<em>{\\text{err}} + \\text{NX}</em>{\\text{price}} / \\text{NX}_{\\text{errcost}}]</li></ul>\n<p>For the above example, (1 - p_{\\text{max}} = 1 - 0.6 = 0.4). And (\\text{NX}_{\\text{err}} +\n\\text{NX}<em>{\\text{price}} / \\text{NX}</em>{\\text{errcost}} = 0.05 + 0.005 = 0.055). As (0.4 \\gt\n0.055), we hand on to the next level, which is the same decision as\n$0.80 versus $0.11.</p>\n<h2 id=\"what-is-it-telling-us\">What is it telling us?</h2>\n<p><em>Notice that when errors are expensive, LLM&#39;s price barely matters.</em>\nThe only question is <em>who&#39;s more accurate on this input</em>. This is\nbecause (\\text{NX}<em>{\\text{price}} / \\text{NX}</em>{\\text{errcost}}) shrinks toward zero, so (F \\sim\n\\text{NX}_{\\text{err}}). In other words, when errors are expensive, a cheaper LLM\nbarely helps, but a more accurate one helps a lot.</p>\n<p>However, when errors are cheap, (\\text{NX}<em>{\\text{price}} / \\text{NX}</em>{\\text{errcost}} \\gt\n\\text{NX}<em>{\\text{err}}). Re-arranging it gives us - (\\text{NX}</em>{\\text{errcost}} \\lt \\text{NX}_{\\text{price}} /\n\\text{NX}_{\\text{err}}). In other words, LLM&#39;s fee only matters more than its\nmistakes when a wrong answer costs under a certain amount. For our above\nexample, that&#39;s $0.01 / 0.05 or 20 cents. Our tickets cost $2 per wrong\nanswer, well above that, so accuracy decides.</p>\n<p>To paraphrase Adam Smith, act only when what we gain from it is more\nthan what we pay in return.\n<strong>In our decision hierarchy, the LLM is selling one product - fewer\nmistakes. Each level is a supplier with 3 numbers: a price, an error\nrate, and the cost of each error it makes. The threshold we discussed\nabove is a break-even point - the point where what the next level\nsaves equals what it charges you.</strong></p>\n<h2 id=\"confident-mistakes-and-when-errors-don-t-cost-the-same\">Confident mistakes and when errors don&#39;t cost the same</h2>\n<p>So far, we have assumed that the decisions made at every level are\nnoiseless. Chow&#39;s rule only escalates the inputs that a level is unsure\nabout. However, in the real world, any level is capable of making\nconfident mistakes. This is especially true when two levels share a\nsimilar training. One way to mitigate this is by using a\n<strong>random audit</strong>. Imagine a small random slice, say 1% of Jev&#39;s\nconfident decisions, being sent to the next level anyway. This will help\ncalculate a better estimate of the error rate, and tune the costs.</p>\n<p>Chow&#39;s rule also assumes that every mistake costs the same. This does\nnot hold up in the real world either. Say, a ticket that needed to be\nsent to the legal team got routed to the tech team instead. Depending on\nthe circumstances, that can cost a lot more than a ticket that was\nsupposed to be sent to the tech team, but got routed to data analytics\ninstead.</p>\n<p>Before we manipulate Chow&#39;s rule to mitigate this issue, notice how both\n(\\text{NX}<em>{\\text{price}}) and (\\text{NX}</em>{\\text{err}}) don&#39;t depend on any output category. As\nper (\\text{NX}_{\\text{price}}), the LLM charges the same fee for every ticket.\nSimilarly, as long as we assume that LLM is equally accurate on every\ncategory, (\\text{NX}<em>{\\text{err}}) doesn&#39;t change. So, we only need (\\text{NX}</em>{\\text{errcost}})\nto reflect the output category overhead. Given this, here is the update\nto Chow&#39;s rule:</p>\n<ol><li>(1 - p_{\\text{max}} \\lt \\text{NX}<em>{\\text{err}} + \\text{NX}</em>{\\text{price}} / \\text{NX}_{\\text{errcost}})</li><li><p>((1 - p_{\\text{max}}) \\times \\text{NX}<em>{\\text{errcost}} \\lt \\text{NX}</em>{\\text{err}} \\times \\text{NX}_{\\text{errcost}} +</p><p> \\text{NX}<em>{\\text{price}}) (multiply by (\\text{NX}</em>{\\text{errcost}}) on both sides)</p></li><li><p>Consider (1 - p_{\\text{max}} = \\sum_{c \\neq \\text{max}} p_c) and (1 = \\sum_c</p><p> p_c) (where (c) represents a category)</p></li><li><p>(\\sum_{c \\neq \\text{max}} p_c \\times \\text{NX}<em>{\\text{errcost}} \\lt \\text{NX}</em>{\\text{err}} \\times \\sum_c</p><p> p_c \\times \\text{NX}<em>{\\text{errcost}} + \\text{NX}</em>{\\text{price}})</p></li><li>(\\text{NX}<em>{\\text{errcost}} \\Rightarrow \\text{NX}</em>{\\text{errcost}}(c))</li><li><p>(\\sum_{c \\neq \\text{max}} p_c \\times \\text{NX}<em>{\\text{errcost}}(c) \\lt \\text{NX}</em>{\\text{err}} \\times</p><p> \\sum_c p_c \\times \\text{NX}<em>{\\text{errcost}}(c) + \\text{NX}</em>{\\text{price}})</p></li><li>(C&#39; = \\sum_c p_c \\times \\text{NX}_{\\text{errcost}}(c))</li><li><p>(\\sum_{c \\neq \\text{max}} p_c \\times \\text{NX}<em>{\\text{errcost}}(c) = C&#39; - p</em>{\\text{max}} \\times</p><p> \\text{NX}_{\\text{errcost}}(\\text{max}))</p></li><li><p>(C&#39; - p_{\\text{max}} \\times \\text{NX}<em>{\\text{errcost}}(\\text{max}) \\lt \\text{NX}</em>{\\text{err}} \\times C&#39; +</p><p> \\text{NX}_{\\text{price}}) (divide by (C&#39;) to put the rule back in the shape of\n the original formula)</p></li><li><p>(1 - p_{\\text{max}} \\times \\text{NX}<em>{\\text{errcost}}(\\text{max}) / C&#39; \\lt \\text{NX}</em>{\\text{err}} + \\text{NX}_{\\text{price}}</p><p>  / C&#39;)</p></li></ol>\n<p>Notice how if every category has the same (\\text{NX}_{\\text{errcost}}), then (C&#39; =\n\\text{NX}_{\\text{errcost}}). In which case, we get back our original Chow&#39;s rule of\n(1 - p_{\\text{max}} \\lt \\text{NX}<em>{\\text{err}} + \\text{NX}</em>{\\text{price}} / \\text{NX}_{\\text{errcost}}).</p>\n<p>Figure 2: Interactive plot of the modified Chow&#39;s rule (1 - p_{\\text{max}} \\times \\text{NX}<em>{\\text{errcost}}(\\text{max}) / C&#39; \\lt \\text{NX}</em>{\\text{err}} + \\text{NX}_{\\text{price}}\n/ C&#39;). In generic terms, <a href=\"https://www.desmos.com/calculator/altqzwksk9\" rel=\"nofollow ugc noopener\">the curve is a hyperbola</a> with the equation (y = 1 - a - b/x), where x is (C&#39;), y is the threshold from the right of the equation, and (a) and (b) are the constants (\\text{NX}<em>{\\text{err}}) and (\\text{NX}</em>{\\text{price}}) respectively. The hyperbola is clamped to prevent negative values. <strong>Note</strong> that the figure is AI generated using Claude&#39;s Opus 5.5 Extra model. In accordance with <a href=\"https://www.anthropic.com/legal/commercial-terms\" rel=\"nofollow ugc noopener\">Anthropic&#39;s commercial terms</a>, I own the output, and responsible for its factual correctness, and any copyright issues.</p>\n<p>To illustrate the new derivation, let us focus on 3 categories: tech,\nanalytics, and legal. Assume that the LLM still charges us $0.01\n((\\text{NX}<em>{\\text{price}})), is wrong 5% of the time ((\\text{NX}</em>{\\text{err}})), and the output\nprobability on an input is tech 0.6, analytics 0.25, and legal 0.15\nrespectively. Also assume that if the ticket really is tech,\n(\\text{NX}_{\\text{errcost}}) will cost us say $2 (same as before). Similarly, if the\nticket really is analytics or legal, (\\text{NX}_{\\text{errcost}}) will cost us $2\nand $100 respectively.\n<a href=\"https://quoteinvestigator.com/2023/05/23/lawsuit/\" rel=\"nofollow ugc noopener\">As they say</a></p>\n<ul><li><p>“*I was never ruined but twice - once when I lost a lawsuit, once when</p><p>I won one.*”</p></li></ul>\n<p>(C&#39;) would be (\\sum_c p_c \\times \\text{NX}_{\\text{errcost}}(c)), or (0.6 × $2 +\n0.25 × $2 + 0.15 × $100), or $16.70. The max category is tech, so\nanswering in tech costs us (C&#39; - p_{\\text{max}} \\times \\text{NX}_{\\text{errcost}}(\\text{Tech})) =\n$16.7 - $1.2 = $15.5. Furthermore, handing on to the next level costs\nus, (\\text{NX}<em>{\\text{err}} \\times C&#39; + \\text{NX}</em>{\\text{price}}) = 0.05 × $16.70 + $0.01 = $0.835</p>\n<ul><li>$0.01 = $0.845.</li></ul>\n<p>As $15.50 &gt; $0.845, we hand on to the next level. This is the same\nconclusion that we previously made; however, the 15% chance of a legal\nticket makes answering nearly 20 times more expensive (15.5/0.8) than\nbefore.</p>\n<h2 id=\"top-class-is-not-always-the-cheapest\">Top class is not always the cheapest</h2>\n<p>Nonetheless, there is a catch with the new derivation. Till now, our\ndecision at every level was based on - should the level answer with its\ntop class or hand on? But\n<strong>with the introduction of a cost table, the top class is not always\nthe cheapest answer</strong>. We can have scenarios where the new rule would hand on to the next\nlevel, when answering with a different category would be considered\ncheaper.</p>\n<p>To see this, assume that we have the same cost table as before ($2, $2,\n$100), but the probability distribution has changed to tech 0.5,\nanalytics 0.05, and legal 0.45. (C&#39;) would be (0.5 × $2 + 0.05 × $2 +\n0.45 × $100), or $46.10. Handing on would cost $0.01 + 0.05 x $46.10 =\n$2.32. Answering with the max costs 0.05 × $2 + 0.45 × $100, or $45.10.\nAnswering with legal costs $1.10. As $1.10 &lt; $2.32, the best decision\nwould be to route to legal. However, with max only - we would have\ndecided to simply hand on to the next level.</p>\n<p>One way to deal with this is by letting the math work out as intended -\nthat is, we route to legal, when it&#39;s cheaper to do so. But the dilemma\nis that if we route too much, their queue grows, and it ends up turning\ninto a dumping ground for tickets. This would certainly occur if the\ntraining of models at any level is subpar. One way to mitigate such\nissues is by relying on our <em>audit trick</em>. If legal is bouncing\nback lots of tickets or its queue is growing, we raise the price.\nHowever, if real issues are slipping past them, we lower the price.</p>\n<h2 id=\"bringing-out-my-crystal-ball\">Bringing out my crystal ball</h2>\n<p>*All of the above analysis does present a threat to Jev and independent\ndecision model-like businesses.*\nParticularly, Jev&#39;s advantages are its cheapness, speed, probability\ndistribution, and closed outputs. But those advantages are a direct\nresult of its interface, and interfaces can be copied. If a really cheap\nLLM (say\n<a href=\"https://www.llm-prices.com/\" rel=\"nofollow ugc noopener\">GPT-5 nano or Gemini Flash Lite</a>) ends up being more accurate than Jev, then a winning move for vendors\nwould be to call such LLMs in decision mode. Which is exactly what\nOpenAI is doing with their\n<a href=\"https://developers.openai.com/api/docs/guides/decisions\" rel=\"nofollow ugc noopener\">Decisions API</a>! The customers get to keep the good stuff: stop paying for the output\ntokens, improved latency, post-training from a strong base model, and\nactual probabilities over the options.\n<strong>What an interface can&#39;t copy is honest probabilities</strong> - which is\nwhere Jev&#39;s specialized training may hold some edge. As is already the\ncase though, I expect that we should see a great deal of competitors\ncommoditizing Jev&#39;s market share and big LLM providers cannibalizing\ntheir own output-token revenue in the coming months to cater to the\nmarket for this interface.</p>\n<p>In the future, decisions sold with <em>some form of warranty</em> do not seem\nfar-fetched either. We already have something similar with <a href=\"https://en.wikipedia.org/wiki/Riskified\" rel=\"nofollow ugc noopener\">Riskified</a>\ntoday. As discussed before, when (\\text{NX}_{\\text{price}} / C&#39;) goes to zero -\naccuracy alone decides the level at which we answer. At that point, the\neconomic moat solely falls upon the “honest probabilities” and\n“specialized training”. This in itself does not sound appealing.\nHowever, if the independent decision model vendors calibrate per-domain\nand provide a certain guarantee in their contracts, then the needle can\npossibly tilt somewhat in their favor. Imagine the cost being tuned to\naccount for a premium and a deductible, like (\\text{NX}_{\\text{price}} + \\text{premium} +\n\\text{NX}_{\\text{err}} \\times \\text{deductible}).</p>\n<p>One topic I have yet to discuss is <strong>latency</strong> and its addition to Chow&#39;s\nmodified rule. One way to do this would be by introducing two variables:\nthe next level&#39;s response time in seconds ((\\text{NX}_{\\text{latency}})) and the\ncost per second of wait ((\\text{wait_cost})). With this, the cost of the\nanswer remains the same as before, ((1 - p_{\\text{max}}) \\times\n\\text{NX}_{\\text{errcost}}). However, the cost of handing on to the next level\nbecomes (\\text{NX}<em>{\\text{price}} + \\text{NX}</em>{\\text{err}} \\times \\text{NX}_{\\text{errcost}} + \\text{wait_cost} \\times\n\\text{NX}<em>{\\text{latency}}). This leads to [(1 - p</em>{\\text{max}}) \\times \\text{NX}_{\\text{errcost}} \\lt\n\\text{NX}<em>{\\text{price}} + \\text{NX}</em>{\\text{err}} \\times \\text{NX}_{\\text{errcost}} + \\text{wait_cost} \\times\n\\text{NX}<em>{\\text{latency}}] And dividing by (\\text{NX}</em>{\\text{errcost}}), we get [1 - p_{\\text{max}}\n\\lt \\text{NX}<em>{\\text{err}} + (\\text{NX}</em>{\\text{price}} + \\text{wait_cost} \\times \\text{NX}_{\\text{latency}}) /\n\\text{NX}_{\\text{errcost}}] Just like before, this can similarly be modeled towards\ndifferent output categories too.</p>\n<p>As I am writing this, it is fascinating to imagine the possibilities\nthis discussion is leading up to. As I look towards the future, there\nare many questions and opportunities. For instance, how would\nmultimodality interact in the decision model realm? Will we be able to\nsplit the image into grid cells and ask a model to pick a cell given an\ninstruction? Like, which of my cells contains a can of Cherry coke? Or\nwill we be able to count in bins the occurrence of an item - how many\ncars are at the intersection? What about audio? Will we be able to chop\na time window and narrow down to when Jeff Geerling talks about the\nprice of his mini PC? It has been clear for a while now that once such\nmodels cheaply read images, audio, and sensors in real-time, we will be\nable to leverage them inside robots, factory settings, and many\non-device form factors.</p>\n<p><em>The future is exciting and exciting is the future.</em></p>","headings":[{"level":1,"text":"To Make, or to Buy: The Economics of Decision Models","id":"to-make-or-to-buy-the-economics-of-decision-models"},{"level":2,"text":"The decision hierarchy","id":"the-decision-hierarchy"},{"level":2,"text":"Answer v. Abstain","id":"answer-v-abstain"},{"level":2,"text":"Deriving Chow's rule","id":"deriving-chow-s-rule"},{"level":2,"text":"What is it telling us?","id":"what-is-it-telling-us"},{"level":2,"text":"Confident mistakes and when errors don't cost the same","id":"confident-mistakes-and-when-errors-don-t-cost-the-same"},{"level":2,"text":"Top class is not always the cheapest","id":"top-class-is-not-always-the-cheapest"},{"level":2,"text":"Bringing out my crystal ball","id":"bringing-out-my-crystal-ball"}]}}