Skip to content
Contents
Decision AI

    Type to search. Planned chapters match by title only.

    Chapter 1.3 · Report

    From probabilities to actions

    At an assumed contact cost of $6 and recovery worth $48, Jev's raw probabilities earn $5,076 per thousand reviews against $5,015 for a trained classifier, with no clear gap, and recalibrating Jev on labeled reviews raises it to $5,335, because its probabilities overstate dissatisfaction near the cutoff.

    Chapter page: the same findings with every figure drawn as a chart.

    Every estimate of the chapter with its interval and every figure as a table, generated from the chapter's data files. Table n of this report is figure n of the chapter. The same report as Markdown: report.md.

    Identification

    Title
    From probabilities to actions
    Chapter
    1.3 (Part I, From judgment to action; Case studies)
    Question
    Given the cost of a contact and the value of a recovered customer, which dissatisfied reviewers should a coffee roaster contact, and what does that rule assume?
    Dek
    At an assumed contact cost of $6 and recovery worth $48, Jev's raw probabilities earn $5,076 per thousand reviews against $5,015 for a trained classifier, with no clear gap, and recalibrating Jev on labeled reviews raises it to $5,335, because its probabilities overstate dissatisfaction near the cutoff.
    Grain
    records
    Status
    draft
    Published
    Updated
    not revised
    Data sources
    • Amazon Reviews 2023. 5,000 coffee reviews, a sample stratified by star rating; weights: sample_weight restores the star mix of the coffee reviews
    Canonical URL
    https://vishalsingh.org/decisionai/from-probabilities-to-actions
    Markdown
    https://vishalsingh.org/decisionai/from-probabilities-to-actions/report.md
    BibTeX
    @misc{singh2026fromprobabilitiestoactions,
      author = {Singh, Vishal},
      title = {From probabilities to actions},
      year = {2026},
      url = {https://vishalsingh.org/decisionai/from-probabilities-to-actions},
      note = {In Decision AI. Published 29 October 2026.}
    }

    Principal estimates

    The facts the dek and the opening prose cite, in order of appearance. Every fact is in the table of all estimates below.

    EstimandPopulationPeriodValueIntervalnWeightsSourceFact id
    assumed costthe coffee roaster's contact decision (assumed inputs)assumed inputs, October 2026$6not applicable; assumed inputsAmazon Reviews 2023contact_cost
    r times Vthe coffee roaster's contact decision (assumed inputs)assumed inputs, October 2026$48not applicable; assumed inputsAmazon Reviews 2023expected_recovery
    net value of contacts against contacting nobody, at the cutoff p*5,000 sampled coffee reviews in Amazon Reviews 2023, Grocery and Gourmet Foodreviews written 2006 to 2023; engines called October 2026$5,07695% CI $5,004 to $5,1445,000 reviewsweighted to the star mix of the coffee reviews (sample_weight)Amazon Reviews 2023net_jev
    net value of contacts against contacting nobody, at the cutoff p*5,000 sampled coffee reviews in Amazon Reviews 2023, Grocery and Gourmet Foodreviews written 2006 to 2023; engines called October 2026$5,01595% CI $4,928 to $5,1045,000 reviewsweighted to the star mix of the coffee reviews (sample_weight)Amazon Reviews 2023net_tfidf
    net value per 1,000 reviews5,000 sampled coffee reviews in Amazon Reviews 2023, Grocery and Gourmet Foodreviews written 2006 to 2023; engines called October 2026$5,33595% CI $5,273 to $5,3935,000 reviewsweighted to the star mix of the coffee reviews (sample_weight)Amazon Reviews 2023net_jev_recal
    assumed valuethe coffee roaster's contact decision (assumed inputs)assumed inputs, October 2026$120not applicable; assumed inputsAmazon Reviews 2023customer_value
    assumed ratethe coffee roaster's contact decision (assumed inputs)assumed inputs, October 20260.4not applicable; assumed inputsAmazon Reviews 2023recovery_rate
    sample size5,000 sampled coffee reviews in Amazon Reviews 2023, Grocery and Gourmet Foodreviews written 2006 to 2023; engines called October 20265,000weighted to the star mix of the coffee reviews (sample_weight)Amazon Reviews 2023n_reviews
    weighted share5,000 sampled coffee reviews in Amazon Reviews 2023, Grocery and Gourmet Foodreviews written 2006 to 2023; engines called October 202614.2%weighted to the star mix of the coffee reviews (sample_weight)Amazon Reviews 2023share_dissatisfied
    difference in net value, jev_recal minus tfidf5,000 sampled coffee reviews in Amazon Reviews 2023, Grocery and Gourmet Foodreviews written 2006 to 2023; engines called October 2026+$32095% CI $228 to $4115,000 reviewsweighted to the star mix of the coffee reviews (sample_weight)Amazon Reviews 2023net_diff_jev_recal_tfidf

    Findings

    Bean & Basket, a coffee roaster that sells bagged coffee online, wants its care team to contact unhappy reviewers with a replacement bag or a voucher. The firm is illustrative, and the reviews come from many coffee products sold on Amazon. Suppose a contact costs $6$6 US dollars per contactEstimandassumed costWeightsnot applicable; assumed inputsPopulationthe coffee roaster's contact decision (assumed inputs)Periodassumed inputs, October 2026SourceAmazon Reviews 2023 in staff time and voucher value, a retained customer is worth $120$120 US dollars per retained customerEstimandassumed valueWeightsnot applicable; assumed inputsPopulationthe coffee roaster's contact decision (assumed inputs)Periodassumed inputs, October 2026SourceAmazon Reviews 2023, and a contact wins back a dissatisfied customer with probability 0.40.4 share of dissatisfied customers a contact retainsEstimandassumed rateWeightsnot applicable; assumed inputsPopulationthe coffee roaster's contact decision (assumed inputs)Periodassumed inputs, October 2026SourceAmazon Reviews 2023. A contact with a dissatisfied reviewer is then worth $48$48 US dollars per contact with a dissatisfied customerEstimandr times VWeightsnot applicable; assumed inputsPopulationthe coffee roaster's contact decision (assumed inputs)Periodassumed inputs, October 2026SourceAmazon Reviews 2023 on average, and a contact with a satisfied reviewer is wasted. Each of 5,0005,000 reviewsEstimandsample sizeWeightsweighted to the star mix of the coffee reviews (sample_weight)Population5,000 sampled coffee reviews in Amazon Reviews 2023, Grocery and Gourmet FoodPeriodreviews written 2006 to 2023; engines called October 2026SourceAmazon Reviews 2023 sampled coffee reviews has a model's probability that the reviewer is dissatisfied, and weighted to all coffee reviews, 14.2%14.2% share of reviews with one or two starsEstimandweighted shareWeightsweighted to the star mix of the coffee reviews (sample_weight)Population5,000 sampled coffee reviews in Amazon Reviews 2023, Grocery and Gourmet FoodPeriodreviews written 2006 to 2023; engines called October 2026SourceAmazon Reviews 2023 of reviewers gave one or two stars. Which reviewers should the team contact?

    At these assumed costs, Jev's raw probabilities and a trained classifier earn about the same, $5,100$5,076 US dollars per 1,000 reviewsEstimandnet value of contacts against contacting nobody, at the cutoff p*Interval95% CI $5,004 to $5,144n5,000 reviewsWeightsweighted to the star mix of the coffee reviews (sample_weight)Population5,000 sampled coffee reviews in Amazon Reviews 2023, Grocery and Gourmet FoodPeriodreviews written 2006 to 2023; engines called October 2026SourceAmazon Reviews 2023NoteAssumed costs; measured error mix. and $5,000$5,015 US dollars per 1,000 reviewsEstimandnet value of contacts against contacting nobody, at the cutoff p*Interval95% CI $4,928 to $5,104n5,000 reviewsWeightsweighted to the star mix of the coffee reviews (sample_weight)Population5,000 sampled coffee reviews in Amazon Reviews 2023, Grocery and Gourmet FoodPeriodreviews written 2006 to 2023; engines called October 2026SourceAmazon Reviews 2023NoteAssumed costs; measured error mix. per thousand reviews, because Jev's probabilities run too high near the cutoff. Recalibrated on labeled reviews, Jev earns about $5,300$5,335 US dollars per 1,000 reviewsEstimandnet value per 1,000 reviewsInterval95% CI $5,273 to $5,393n5,000 reviewsWeightsweighted to the star mix of the coffee reviews (sample_weight)Population5,000 sampled coffee reviews in Amazon Reviews 2023, Grocery and Gourmet FoodPeriodreviews written 2006 to 2023; engines called October 2026SourceAmazon Reviews 2023NoteAssumed costs; measured error mix., ahead of the classifier by +$320 (95% CI $228 to $411)+$320 US dollars per 1,000 reviewsEstimanddifference in net value, jev_recal minus tfidfInterval95% CI $228 to $411n5,000 reviewsWeightsweighted to the star mix of the coffee reviews (sample_weight)Population5,000 sampled coffee reviews in Amazon Reviews 2023, Grocery and Gourmet FoodPeriodreviews written 2006 to 2023; engines called October 2026SourceAmazon Reviews 2023. So for this policy and these costs, the ranking edge paid off once labels went into the probabilities. Stars stand in for dissatisfaction, the costs are assumptions, and dissatisfaction alone does not tell you who will respond to a voucher.

    The decision
    Owner and actions
    The customer-care lead decides whom to contact; finance owns the costs.
    Evidence at decision time
    The review's title and text, available the day it is posted.
    Simplest alternative
    A keyword rule, or a classifier trained on reviews of other coffee products.
    What establishes correctness
    The reviewer's own star rating, used as a proxy: one or two stars counts as dissatisfied.
    When the model is wrong or cannot decide
    A wasted contact costs the voucher; a missed unhappy customer may not buy again.
    Does the policy pay
    Net value per thousand reviews under the stated costs, compared across policies.

    The cutoff comes from the costs

    Contacting a reviewer pays when the expected recovery exceeds the cost: when the probability of dissatisfaction p satisfies p times rV greater than c. The cutoff is

    p∗=crVp^{*} = \frac{c}{rV}

    which is 0.1250.125 probability of dissatisfactionEstimandcutoff c / (rV)Weightsnot applicable; assumed inputsPopulationthe coffee roaster's contact decision (assumed inputs)Periodassumed inputs, October 2026SourceAmazon Reviews 2023 at these costs. A cutoff this low means the team should contact many reviewers who are probably satisfied, because a contact is cheap relative to what a recovered customer is worth.

    The shortcut gives 0.1110.111 probability of dissatisfactionEstimandshortcut cutoff C_FP / (C_FP + C_FN) with C_FN = rVWeightsnot applicable; assumed inputsPopulationthe coffee roaster's contact decision (assumed inputs)Periodassumed inputs, October 2026SourceAmazon Reviews 2023, a little lower than 0.1250.125 probability of dissatisfactionEstimandcutoff c / (rV)Weightsnot applicable; assumed inputsPopulationthe coffee roaster's contact decision (assumed inputs)Periodassumed inputs, October 2026SourceAmazon Reviews 2023. It assumes that a correct decision costs nothing, and here a correct contact still costs c. The difference is small at these costs and grows as c approaches rV. When c exceeds rV, p* is above one and the right policy is to contact nobody, whatever the model says.

    Threshold explorer

    Expected value of contacting at each cutoff

    Loading data

    Now score each policy. The chart below sets every way of choosing whom to contact against the simplest one, contacting nobody, at the default costs and the cutoff 0.1250.125 probability of dissatisfactionEstimandcutoff c / (rV)Weightsnot applicable; assumed inputsPopulationthe coffee roaster's contact decision (assumed inputs)Periodassumed inputs, October 2026SourceAmazon Reviews 2023.

    Jev's probabilities earn about $5,100$5,076 US dollars per 1,000 reviewsEstimandnet value of contacts against contacting nobody, at the cutoff p*Interval95% CI $5,004 to $5,144n5,000 reviewsWeightsweighted to the star mix of the coffee reviews (sample_weight)Population5,000 sampled coffee reviews in Amazon Reviews 2023, Grocery and Gourmet FoodPeriodreviews written 2006 to 2023; engines called October 2026SourceAmazon Reviews 2023NoteAssumed costs; measured error mix. per thousand reviews and the classifier's about $5,000$5,015 US dollars per 1,000 reviewsEstimandnet value of contacts against contacting nobody, at the cutoff p*Interval95% CI $4,928 to $5,104n5,000 reviewsWeightsweighted to the star mix of the coffee reviews (sample_weight)Population5,000 sampled coffee reviews in Amazon Reviews 2023, Grocery and Gourmet FoodPeriodreviews written 2006 to 2023; engines called October 2026SourceAmazon Reviews 2023NoteAssumed costs; measured error mix., both well above the keyword rule and contacting everyone. Perfect foresight, a policy that knew every rating in advance, sets the ceiling at about $6,000$5,978 US dollars per 1,000 reviewsEstimandnet value per 1,000 reviewsn5,000 reviewsWeightsweighted to the star mix of the coffee reviews (sample_weight)Population5,000 sampled coffee reviews in Amazon Reviews 2023, Grocery and Gourmet FoodPeriodreviews written 2006 to 2023; engines called October 2026SourceAmazon Reviews 2023NoteAssumed costs; measured error mix..

    The rule assumes calibrated probabilities

    The formula for p* takes a probability at face value: a review given 0.1250.125 probability of dissatisfactionEstimandcutoff c / (rV)Weightsnot applicable; assumed inputsPopulationthe coffee roaster's contact decision (assumed inputs)Periodassumed inputs, October 2026SourceAmazon Reviews 2023 should come from a group in which about that share of reviewers are unhappy. The engines' probabilities do not mean that here. Among reviews to which Jev gives a probability between 0.1250.125 probability of dissatisfactionEstimandcutoff c / (rV)Weightsnot applicable; assumed inputsPopulationthe coffee roaster's contact decision (assumed inputs)Periodassumed inputs, October 2026SourceAmazon Reviews 2023 and 0.30.3 probability of dissatisfactionEstimandupper edge of the band just above the cutoffWeightsweighted to the star mix of the coffee reviews (sample_weight)Population5,000 sampled coffee reviews in Amazon Reviews 2023, Grocery and Gourmet FoodPeriodreviews written 2006 to 2023; engines called October 2026SourceAmazon Reviews 2023, just above the cutoff, only 4.2%4.2% share of reviews with one or two starsEstimandamong reviews given P from p* up to 0.3n427 reviewsWeightsweighted to the star mix of the coffee reviews (sample_weight)Population5,000 sampled coffee reviews in Amazon Reviews 2023, Grocery and Gourmet FoodPeriodreviews written 2006 to 2023; engines called October 2026SourceAmazon Reviews 2023 have one or two stars, and 85%84.8% percent of reviews in the bandEstimandfour- and five-star reviews among those given P from p* up to 0.3 by Jevn427 reviewsWeightsweighted to the star mix of the coffee reviews (sample_weight)Population5,000 sampled coffee reviews in Amazon Reviews 2023, Grocery and Gourmet FoodPeriodreviews written 2006 to 2023; engines called October 2026SourceAmazon Reviews 2023 have four or five. Jev reads doubt into reviews whose writers still rated the coffee well.

    CalibrationCalibrationWhether predicted probabilities match observed frequencies: among items given a probability of 0.3, about three in ten should turn out positive. measures this gap. The engines start well behind the classifier, and recalibrating them on part of the sample, then scoring on the rest, closes the gap. Here the ranking edge turns into money: at the same cutoff, recalibrated Jev earns +$259 (95% CI $189 to $333)+$259 US dollars per 1,000 reviewsEstimanddifference in net value, jev_recal minus jevInterval95% CI $189 to $333n5,000 reviewsWeightsweighted to the star mix of the coffee reviews (sample_weight)Population5,000 sampled coffee reviews in Amazon Reviews 2023, Grocery and Gourmet FoodPeriodreviews written 2006 to 2023; engines called October 2026SourceAmazon Reviews 2023 more than raw Jev.

    In practice the gap means extra contacts. At p*, Jev contacts 287287 contacts per 1,000 reviewsEstimandweighted contacts at p*Weightsweighted to the star mix of the coffee reviews (sample_weight)Population5,000 sampled coffee reviews in Amazon Reviews 2023, Grocery and Gourmet FoodPeriodreviews written 2006 to 2023; engines called October 2026SourceAmazon Reviews 2023 reviewers per thousand reviews and the classifier 222222 contacts per 1,000 reviewsEstimandweighted contacts at p*Weightsweighted to the star mix of the coffee reviews (sample_weight)Population5,000 sampled coffee reviews in Amazon Reviews 2023, Grocery and Gourmet FoodPeriodreviews written 2006 to 2023; engines called October 2026SourceAmazon Reviews 2023, and most of the difference is satisfied reviewers.

    Reliability diagram

    Predicted probability against observed share

    Loading data

    A second fix leaves the probabilities alone and moves the cutoff instead. Choose the cutoff that earns the most on four folds of the sample, apply it to the fifth, and repeat. For Jev the data push the cutoff from 0.1250.125 probability of dissatisfactionEstimandcutoff c / (rV)Weightsnot applicable; assumed inputsPopulationthe coffee roaster's contact decision (assumed inputs)Periodassumed inputs, October 2026SourceAmazon Reviews 2023 up to 0.380.38 probability of dissatisfactionEstimandmedian of five cross-fit cost-minimizing cutoffsWeightsweighted to the star mix of the coffee reviews (sample_weight)Population5,000 sampled coffee reviews in Amazon Reviews 2023, Grocery and Gourmet FoodPeriodreviews written 2006 to 2023; engines called October 2026SourceAmazon Reviews 2023NoteRange across folds 0.35 to 0.38..

    How many labels does that fix take, compared with training a classifier on the same labels? Each draw below gives both arms identical labeled reviews.

    With two hundred labels, recalibrated Jev earns $5,300$5,257 US dollars per thousand reviewsEstimandnet value at p*, mean across label drawsWeightsweighted to the star mix of the coffee reviews (sample_weight)Populationthe coffee reviews, labels drawn from reviews of other productsPeriodreviews written 2006 to 2023; engines called October 2026SourceAmazon Reviews 2023NoteAssumed costs. Both arms use the same labeled draws. and the classifier $3,300$3,257 US dollars per thousand reviewsEstimandnet value at p*, mean across label drawsWeightsweighted to the star mix of the coffee reviews (sample_weight)Populationthe coffee reviews, labels drawn from reviews of other productsPeriodreviews written 2006 to 2023; engines called October 2026SourceAmazon Reviews 2023NoteAssumed costs. Both arms use the same labeled draws.. With a thousand, $5,300$5,300 US dollars per thousand reviewsEstimandnet value at p*, mean across label drawsWeightsweighted to the star mix of the coffee reviews (sample_weight)Populationthe coffee reviews, labels drawn from reviews of other productsPeriodreviews written 2006 to 2023; engines called October 2026SourceAmazon Reviews 2023NoteAssumed costs. Both arms use the same labeled draws. and $4,500$4,503 US dollars per thousand reviewsEstimandnet value at p*, mean across label drawsWeightsweighted to the star mix of the coffee reviews (sample_weight)Populationthe coffee reviews, labels drawn from reviews of other productsPeriodreviews written 2006 to 2023; engines called October 2026SourceAmazon Reviews 2023NoteAssumed costs. Both arms use the same labeled draws.. At the full sample the gap is still $5,300$5,342 US dollars per thousand reviewsEstimandnet value at p*, mean across label drawsWeightsweighted to the star mix of the coffee reviews (sample_weight)Populationthe coffee reviews, labels drawn from reviews of other productsPeriodreviews written 2006 to 2023; engines called October 2026SourceAmazon Reviews 2023NoteAssumed costs. Both arms use the same labeled draws. against $5,000$5,032 US dollars per thousand reviewsEstimandnet value at p*, mean across label drawsWeightsweighted to the star mix of the coffee reviews (sample_weight)Populationthe coffee reviews, labels drawn from reviews of other productsPeriodreviews written 2006 to 2023; engines called October 2026SourceAmazon Reviews 2023NoteAssumed costs. Both arms use the same labeled draws.. On this reading task, a few hundred labels spent checking the endpoint went further than the same labels spent fitting this classifier. These figures leave out what each call and each model costs to run, and they describe one simple classifier and one task. The money-back question in a later chapter goes the other way.

    The lesson for a manager: a model that ranks reviews well can still be a poor input to a cost formula. Check its probabilities against the population it will be used on, or let the data set the cutoff. Either fix needs labeled reviews from that population, and these figures do not charge for them.

    The core lesson ends here. The next two sections are optional extensions: adding a person as a third action, and asking who actually responds to a contact.

    Going further: send the review to a person

    Between contacting and ignoring there is a third option. A person on the care team can read the review for $1.50$1.50 US dollars per human reviewEstimandassumed costWeightsnot applicable; assumed inputsPopulationthe coffee roaster's contact decision (assumed inputs)Periodassumed inputs, October 2026SourceAmazon Reviews 2023 and decide, and the panel assumes that person gets it right with probability 0.90.9 share of reviews a person judges correctlyEstimandassumed reviewer accuracyWeightsnot applicable; assumed inputsPopulationthe coffee roaster's contact decision (assumed inputs)Periodassumed inputs, October 2026SourceAmazon Reviews 2023, a number no one measured here. With two cutoffs, the policy contacts reviewers above the upper one, ignores reviewers below the lower one and sends the rest to a person. Reviewer capacity limits how many reviews can go to people, and once it binds, the reviews worth reading are the ones whose expected loss falls most from a person's judgment.

    Triage band

    Automate, review or triage

    Loading data

    For one review at a time, the comparison is a table of expected losses, one row per action. The action with the lowest expected loss is the one to take.

    Action loss table

    Expected loss of each action

    Loading data

    Going further: dissatisfied is not the same as responsive

    The recovery rate r describes how much a contact changes a customer's chance of staying, and star ratings cannot measure it. An unhappy customer may leave whatever the firm does, and another may return without any voucher. Contacting the most dissatisfied reviewers is the right ranking when a contact helps them at least as much as it helps anyone else at the same cost, an assumption a review label cannot check. A randomized contact experiment would provide a direct way to estimate that incremental effect.

    The simulator below is a seeded simulation, not data from any firm. In it, a contact changes retention most for moderately dissatisfied customers who buy often and close to zero for the most dissatisfied. At the same contact budget, it compares targeting by the probability of dissatisfaction with targeting by the response estimated from a simulated experiment.

    Uplift simulatorsynthetic

    Targeting by dissatisfaction or by estimated uplift

    Loading data

    A cutoff applied once to each review also ignores time. A contact changes what the firm learns next, because a reply or a repeat purchase is new evidence about that customer. Chapter 3.1, Deciding when an agent is finished returns to decisions where each action changes the evidence for the next one.

    What these data cannot show

    The label is the reviewer's own star rating. It misses unhappy reviewers who still gave three stars and counts as dissatisfied some reviewers whose complaint was about delivery. The net values combine a measured error mix with assumed costs, so they show how policies compare under those costs and are not observed returns from contacting anyone. They also leave out what it costs to call or build each model. The data contain no contacts and no later purchases, so nothing here measures whether a contact changes what a customer does; the simulator shows why that matters and estimates nothing about real customers.

    Tables

    Table 1. Model-based contact policies earn far more than a keyword rule or contacting everyone, and Jev's raw probabilities earn no clear premium over the classifier

    Net value of contacts per thousand reviews against contacting nobody, at the cost cutoff p*, by policy, weighted

    conf_highconf_lowestimategroupnpolicy
    n/an/a5978Ceiling5,000Perfect foresight
    525351355195Decision engine5,000OpenAI Luna
    520250835144General language model5,000Claude Haiku adapter
    514450045076Decision engine5,000Jev 1.14.0
    510449285015Trained classifier5,000TF-IDF + logistic
    230919782148Simple rule5,000Keyword rule
    n/an/a832Simple rule5,000Contact every reviewer

    Source: Amazon Reviews 2023, coffee products; 5,000 sampled reviews, weighted; engine calls October 2026; assumed costs

    Data: vishalsingh.org/decisionai/report/from-probabilities-to-actions/figures/net-value-by-policy.json

    Table 2. The engines' probabilities are off by more than the classifier's until they are recalibrated

    Expected calibration error of the probability of dissatisfaction, as returned and after recalibration, by engine, weighted

    conf_highconf_lowengineestimatenversion
    0.0790.071Jev 1.14.00.0755,000As returned
    0.0060.001Jev 1.14.00.0025,000Recalibrated
    0.0640.056OpenAI Luna0.0605,000As returned
    0.0060.001OpenAI Luna0.0025,000Recalibrated
    0.0730.066Claude Haiku adapter0.0695,000As returned
    0.0160.007TF-IDF + logistic0.0115,000As returned

    Note: The figure recalibrates only the two engines that return a probability distribution.

    Source: Amazon Reviews 2023, coffee products; 5,000 sampled reviews, weighted; engine calls October 2026

    Data: vishalsingh.org/decisionai/report/from-probabilities-to-actions/figures/calibration-error.json

    Table 3. Letting the data choose the cutoff moves it above p* for the engines

    Cutoff that maximizes net value, chosen on four folds of the sample and applied to the fifth, median of five folds, by model

    ModelMedian cutoffLowest foldHighest fold
    Jev 1.14.00.380.350.38
    OpenAI Luna0.220.200.29
    TF-IDF + logistic0.110.090.16

    Note: Each dot is the median of the five fold cutoffs; the table gives the lowest and highest. No bootstrap interval was computed.

    Source: Amazon Reviews 2023, coffee products; 5,000 sampled reviews, weighted; engine calls October 2026; assumed costs

    Data: vishalsingh.org/decisionai/report/from-probabilities-to-actions/figures/data-chosen-cutoffs.json

    Table 4. A data-chosen cutoff adds the most net value for Jev, the least calibrated engine, and nothing for the classifier

    Net value per thousand reviews at the cost cutoff p* and at the data-chosen cutoff, by model, weighted

    at_dataat_formulaengineformula_hiformula_lon
    53355076Jev 1.14.0514450045,000
    52735195OpenAI Luna525351355,000
    49855015TF-IDF + logistic510449285,000

    Note: The data-chosen value is scored out of fold and carries no bootstrap interval.

    Source: Amazon Reviews 2023, coffee products; 5,000 sampled reviews, weighted; engine calls October 2026; assumed costs

    Data: vishalsingh.org/decisionai/report/from-probabilities-to-actions/figures/net-at-data-cutoffs.json

    Table 5. For the same labels, recalibrating Jev earns more than fitting a classifier at every size tried

    Net value of the contact policy per thousand reviews against local labels used, weighted; whiskers run from the lowest to the highest draw

    conf_highconf_lowlabelsmodeln_labelsnet
    2475050 labelsClassifier, fit and calibrated on these labels501502
    5337338750 labelsJev, recalibrated on these labels505058
    37091570100 labelsClassifier, fit and calibrated on these labels1002981
    53295029100 labelsJev, recalibrated on these labels1005188
    38851858200 labelsClassifier, fit and calibrated on these labels2003257
    53415072200 labelsJev, recalibrated on these labels2005257
    43873338500 labelsClassifier, fit and calibrated on these labels5004073
    53365185500 labelsJev, recalibrated on these labels5005285
    462843861,000 labelsClassifier, fit and calibrated on these labels1,0004503
    533552481,000 labelsJev, recalibrated on these labels1,0005300
    468344902,000 labelsClassifier, fit and calibrated on these labels2,0004581
    533752252,000 labelsJev, recalibrated on these labels2,0005307
    487247495,000 labelsClassifier, fit and calibrated on these labels5,0004816
    534452705,000 labelsJev, recalibrated on these labels5,0005320
    4974489710,000 labelsClassifier, fit and calibrated on these labels10,0004939
    5342530410,000 labelsJev, recalibrated on these labels10,0005333
    5045500820,000 labelsClassifier, fit and calibrated on these labels20,0005032
    n/an/a20,000 labelsJev, recalibrated on these labels20,0005342

    Note: Platt scaling in place of isotonic calibration gives the same reading.

    Source: Amazon Reviews 2023, coffee products; labels from reviews of other products; policy scored on the sampled evaluation reviews, weighted; engine calls October 2026; assumed costs

    Data: vishalsingh.org/decisionai/report/from-probabilities-to-actions/figures/value-by-labels.json

    All estimates

    Every fact in facts.json (36), sorted by id. The same values as JSON: facts.json.

    Fact idValueUnitEstimandPopulationPeriodIntervalnWeightsSourceNote
    band_hi0.3probability of dissatisfactionupper edge of the band just above the cutoff5,000 sampled coffee reviews in Amazon Reviews 2023, Grocery and Gourmet Foodreviews written 2006 to 2023; engines called October 2026weighted to the star mix of the coffee reviews (sample_weight)Amazon Reviews 2023
    band_rate_jev4.2%share of reviews with one or two starsamong reviews given P from p* up to 0.35,000 sampled coffee reviews in Amazon Reviews 2023, Grocery and Gourmet Foodreviews written 2006 to 2023; engines called October 2026427 reviewsweighted to the star mix of the coffee reviews (sample_weight)Amazon Reviews 2023
    band_share_high_stars84.8%percent of reviews in the bandfour- and five-star reviews among those given P from p* up to 0.3 by Jev5,000 sampled coffee reviews in Amazon Reviews 2023, Grocery and Gourmet Foodreviews written 2006 to 2023; engines called October 2026427 reviewsweighted to the star mix of the coffee reviews (sample_weight)Amazon Reviews 2023
    contact_cost$6US dollars per contactassumed costthe coffee roaster's contact decision (assumed inputs)assumed inputs, October 2026not applicable; assumed inputsAmazon Reviews 2023
    contact_cost_cheap$3US dollars per contactassumed cost, presetthe coffee roaster's contact decision (assumed inputs)assumed inputs, October 2026not applicable; assumed inputsAmazon Reviews 2023
    contact_cost_expensive$25US dollars per contactassumed cost, presetthe coffee roaster's contact decision (assumed inputs)assumed inputs, October 2026not applicable; assumed inputsAmazon Reviews 2023
    contact_cost_prohibitive$60US dollars per contactassumed cost, presetthe coffee roaster's contact decision (assumed inputs)assumed inputs, October 2026not applicable; assumed inputsAmazon Reviews 2023
    contacts_jev287contacts per 1,000 reviewsweighted contacts at p*5,000 sampled coffee reviews in Amazon Reviews 2023, Grocery and Gourmet Foodreviews written 2006 to 2023; engines called October 2026weighted to the star mix of the coffee reviews (sample_weight)Amazon Reviews 2023
    contacts_tfidf222contacts per 1,000 reviewsweighted contacts at p*5,000 sampled coffee reviews in Amazon Reviews 2023, Grocery and Gourmet Foodreviews written 2006 to 2023; engines called October 2026weighted to the star mix of the coffee reviews (sample_weight)Amazon Reviews 2023
    customer_value$120US dollars per retained customerassumed valuethe coffee roaster's contact decision (assumed inputs)assumed inputs, October 2026not applicable; assumed inputsAmazon Reviews 2023
    cut_emp_jev0.38probability of dissatisfactionmedian of five cross-fit cost-minimizing cutoffs5,000 sampled coffee reviews in Amazon Reviews 2023, Grocery and Gourmet Foodreviews written 2006 to 2023; engines called October 2026weighted to the star mix of the coffee reviews (sample_weight)Amazon Reviews 2023Range across folds 0.35 to 0.38.
    expected_recovery$48US dollars per contact with a dissatisfied customerr times Vthe coffee roaster's contact decision (assumed inputs)assumed inputs, October 2026not applicable; assumed inputsAmazon Reviews 2023
    lv_clf_1000$4,503US dollars per thousand reviewsnet value at p*, mean across label drawsthe coffee reviews, labels drawn from reviews of other productsreviews written 2006 to 2023; engines called October 2026weighted to the star mix of the coffee reviews (sample_weight)Amazon Reviews 2023Assumed costs. Both arms use the same labeled draws.
    lv_clf_200$3,257US dollars per thousand reviewsnet value at p*, mean across label drawsthe coffee reviews, labels drawn from reviews of other productsreviews written 2006 to 2023; engines called October 2026weighted to the star mix of the coffee reviews (sample_weight)Amazon Reviews 2023Assumed costs. Both arms use the same labeled draws.
    lv_clf_full$5,032US dollars per thousand reviewsnet value at p*, mean across label drawsthe coffee reviews, labels drawn from reviews of other productsreviews written 2006 to 2023; engines called October 2026weighted to the star mix of the coffee reviews (sample_weight)Amazon Reviews 2023Assumed costs. Both arms use the same labeled draws.
    lv_jev_1000$5,300US dollars per thousand reviewsnet value at p*, mean across label drawsthe coffee reviews, labels drawn from reviews of other productsreviews written 2006 to 2023; engines called October 2026weighted to the star mix of the coffee reviews (sample_weight)Amazon Reviews 2023Assumed costs. Both arms use the same labeled draws.
    lv_jev_200$5,257US dollars per thousand reviewsnet value at p*, mean across label drawsthe coffee reviews, labels drawn from reviews of other productsreviews written 2006 to 2023; engines called October 2026weighted to the star mix of the coffee reviews (sample_weight)Amazon Reviews 2023Assumed costs. Both arms use the same labeled draws.
    lv_jev_full$5,342US dollars per thousand reviewsnet value at p*, mean across label drawsthe coffee reviews, labels drawn from reviews of other productsreviews written 2006 to 2023; engines called October 2026weighted to the star mix of the coffee reviews (sample_weight)Amazon Reviews 2023Assumed costs. Both arms use the same labeled draws.
    n_reviews5,000reviewssample size5,000 sampled coffee reviews in Amazon Reviews 2023, Grocery and Gourmet Foodreviews written 2006 to 2023; engines called October 2026weighted to the star mix of the coffee reviews (sample_weight)Amazon Reviews 2023
    net_diff_adapter_tfidf+$128US dollars per 1,000 reviewsdifference in net value, adapter minus tfidf5,000 sampled coffee reviews in Amazon Reviews 2023, Grocery and Gourmet Foodreviews written 2006 to 2023; engines called October 202695% CI $31 to $2265,000 reviewsweighted to the star mix of the coffee reviews (sample_weight)Amazon Reviews 2023
    net_diff_jev_recal_jev+$259US dollars per 1,000 reviewsdifference in net value, jev_recal minus jev5,000 sampled coffee reviews in Amazon Reviews 2023, Grocery and Gourmet Foodreviews written 2006 to 2023; engines called October 202695% CI $189 to $3335,000 reviewsweighted to the star mix of the coffee reviews (sample_weight)Amazon Reviews 2023
    net_diff_jev_recal_tfidf+$320US dollars per 1,000 reviewsdifference in net value, jev_recal minus tfidf5,000 sampled coffee reviews in Amazon Reviews 2023, Grocery and Gourmet Foodreviews written 2006 to 2023; engines called October 202695% CI $228 to $4115,000 reviewsweighted to the star mix of the coffee reviews (sample_weight)Amazon Reviews 2023
    net_diff_jev_tfidf+$61US dollars per 1,000 reviewsdifference in net value, jev minus tfidf5,000 sampled coffee reviews in Amazon Reviews 2023, Grocery and Gourmet Foodreviews written 2006 to 2023; engines called October 202695% CI −$47 to $1595,000 reviewsweighted to the star mix of the coffee reviews (sample_weight)Amazon Reviews 2023
    net_diff_luna_tfidf+$180US dollars per 1,000 reviewsdifference in net value, luna minus tfidf5,000 sampled coffee reviews in Amazon Reviews 2023, Grocery and Gourmet Foodreviews written 2006 to 2023; engines called October 202695% CI $87 to $2775,000 reviewsweighted to the star mix of the coffee reviews (sample_weight)Amazon Reviews 2023
    net_jev$5,076US dollars per 1,000 reviewsnet value of contacts against contacting nobody, at the cutoff p*5,000 sampled coffee reviews in Amazon Reviews 2023, Grocery and Gourmet Foodreviews written 2006 to 2023; engines called October 202695% CI $5,004 to $5,1445,000 reviewsweighted to the star mix of the coffee reviews (sample_weight)Amazon Reviews 2023Assumed costs; measured error mix.
    net_jev_recal$5,335US dollars per 1,000 reviewsnet value per 1,000 reviews5,000 sampled coffee reviews in Amazon Reviews 2023, Grocery and Gourmet Foodreviews written 2006 to 2023; engines called October 202695% CI $5,273 to $5,3935,000 reviewsweighted to the star mix of the coffee reviews (sample_weight)Amazon Reviews 2023Assumed costs; measured error mix.
    net_oracle$5,978US dollars per 1,000 reviewsnet value per 1,000 reviews5,000 sampled coffee reviews in Amazon Reviews 2023, Grocery and Gourmet Foodreviews written 2006 to 2023; engines called October 20265,000 reviewsweighted to the star mix of the coffee reviews (sample_weight)Amazon Reviews 2023Assumed costs; measured error mix.
    net_tfidf$5,015US dollars per 1,000 reviewsnet value of contacts against contacting nobody, at the cutoff p*5,000 sampled coffee reviews in Amazon Reviews 2023, Grocery and Gourmet Foodreviews written 2006 to 2023; engines called October 202695% CI $4,928 to $5,1045,000 reviewsweighted to the star mix of the coffee reviews (sample_weight)Amazon Reviews 2023Assumed costs; measured error mix.
    p_shortcut0.111probability of dissatisfactionshortcut cutoff C_FP / (C_FP + C_FN) with C_FN = rVthe coffee roaster's contact decision (assumed inputs)assumed inputs, October 2026not applicable; assumed inputsAmazon Reviews 2023
    p_star0.125probability of dissatisfactioncutoff c / (rV)the coffee roaster's contact decision (assumed inputs)assumed inputs, October 2026not applicable; assumed inputsAmazon Reviews 2023
    p_star_cheap0.062probability of dissatisfactioncutoff c / (rV)the coffee roaster's contact decision (assumed inputs)assumed inputs, October 2026not applicable; assumed inputsAmazon Reviews 2023
    p_star_expensive0.521probability of dissatisfactioncutoff c / (rV)the coffee roaster's contact decision (assumed inputs)assumed inputs, October 2026not applicable; assumed inputsAmazon Reviews 2023
    recovery_rate0.4share of dissatisfied customers a contact retainsassumed ratethe coffee roaster's contact decision (assumed inputs)assumed inputs, October 2026not applicable; assumed inputsAmazon Reviews 2023
    review_accuracy0.9share of reviews a person judges correctlyassumed reviewer accuracythe coffee roaster's contact decision (assumed inputs)assumed inputs, October 2026not applicable; assumed inputsAmazon Reviews 2023
    review_cost$1.50US dollars per human reviewassumed costthe coffee roaster's contact decision (assumed inputs)assumed inputs, October 2026not applicable; assumed inputsAmazon Reviews 2023
    share_dissatisfied14.2%share of reviews with one or two starsweighted share5,000 sampled coffee reviews in Amazon Reviews 2023, Grocery and Gourmet Foodreviews written 2006 to 2023; engines called October 2026weighted to the star mix of the coffee reviews (sample_weight)Amazon Reviews 2023

    Definitions

    Calibration
    Whether predicted probabilities match observed frequencies: among items given a probability of 0.3, about three in ten should turn out positive.

    Methods

    Two decision engines, a general language model and a trained classifier gave each sampled review a probability of dissatisfaction. Policies contact a reviewer when that probability reaches a cutoff, and each policy is scored on the star labels with assumed costs.

    What counts as dissatisfied

    A review counts as dissatisfied when its star rating is one or two. The rating is the reviewer's own, so it is a proxy that exists without any rater. A few low ratings complain about delivery rather than the coffee, and a few high ratings contain complaints.

    Engines and the classifier

    Jev 1.14.0 and OpenAI Luna return a probability for a yes-or-no question. The Claude Haiku adapter returns a prompted estimate of that probability. The TF-IDF classifier was trained on reviews of other coffee products and calibrated on a held-out part of them.

    Each engine was called once per review in October 2026 and the answers were stored.

    Weights, folds and intervals

    The sample holds the same number of reviews for each star rating, so every share, cost and calibration curve is weighted back to the star mix of the coffee reviews. Recalibrated probabilities and data-chosen cutoffs are cross-fit over five folds that keep each product's reviews together. Intervals come from a bootstrap that resamples products within star strata, with the same resamples for every policy.

    What these data cannot show

    The label is the reviewer's own star rating. It misses unhappy reviewers who still gave three stars and counts as dissatisfied some reviewers whose complaint was about delivery. The net values combine a measured error mix with assumed costs, so they show how policies compare under those costs and are not observed returns from contacting anyone. They also leave out what it costs to call or build each model. The data contain no contacts and no later purchases, so nothing here measures whether a contact changes what a customer does; the simulator shows why that matters and estimates nothing about real customers.

    References

    The chapter cites no reference.

    Provenance

    Build script
    decision_ai/chapters/from-probabilities-to-actions/build.py (sha256 58dca1335409b82c81c737aef7f9af14d02d25c1e5e6b9be77888ea624e2ecb3)
    Built on
    2026-10-29
    Site commit
    252942a900a49d01fe9f278e18459eb87b20b4a0

    Outputs

    FileSHA-256
    facts.json069f32998b43fab552b79437f4492e543998297912ab27ae03e3fa276ff03457
    figures/calibration-error.json8006eba4847d93ba8a4f148eda7dae82b7b4a3a61016a0fe2a07d35796655bbc
    figures/data-chosen-cutoffs.jsona6cb47cab02f1bf4081668fe1e971c9faa0b6e4f01c3da0d37e0ee0b36285e6a
    figures/net-at-data-cutoffs.jsona9a0d2a997bf6d8a12836ab74821ebf5b9e7b0cf2dc70504d2cfa0c044e68f6f
    figures/net-value-by-policy.json4f68a040c412cecaa041de32fd28cf85298f3413336cf4f64a6d8eb9acd6cc33
    figures/value-by-labels.json072e9978e513582a94013393a3d5a7717008bdd756bff21168e87e86c23f2e59
    meta.json08b7e478643cd97028ee57ddf47f2196dfb9ee8af303f5c8d85caca83910ad8b
    public/data/from-probabilities-to-actions/items.json508445f13140a53a1db0af4f7562cf285dcda90e0a2f0ec9c5a38fef7edebbf9
    public/data/from-probabilities-to-actions/uplift.jsonbd0966a9319584eb784730b70bc7056f7d91e54b3cc0cf4f18c0da4077d29454
    refs.jsonca3d163bab055381827226140568f3bef7eaac187cebd76878e0b63e9e442356

    Machine formats