Skip to content
Contents
Decision AI

    Type to search. Planned chapters match by title only.

    Chapter 1.3

    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.

    Full report: every estimate with its interval, and every figure as a table.

    DraftFigures and numbers may change as the analysis is rebuilt.what is still being checked

    First draft. The label is the star rating, used as a proxy for dissatisfaction, and every cost is an assumption.

    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.

    Figure 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

    • Ceiling
    • Decision engine
    • General language model
    • Trained classifier
    • Simple rule
    Show data
    Data for 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
    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
    The four model-based dots sit a little below the ceiling set by perfect foresight, with Luna and the adapter ahead of Jev and the classifier. The keyword rule and contacting every reviewer earn much less. Each dot combines the measured mix of right and wrong contacts with the assumed costs ($6 per contact, $48 expected recovery). Whiskers are 95% intervals from a bootstrap that resamples products within star ratings; the ceiling and contacting everyone are fixed by the star mix.Source: Amazon Reviews 2023, coffee products; 5,000 sampled reviews, weighted; engine calls October 2026; assumed costs

    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.

    Figure 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

    • As returned
    • Recalibrated
    Show data
    Data for The engines' probabilities are off by more than the classifier's until they are recalibrated
    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
    Compare each engine's two dots: as returned, Jev, Luna and the adapter sit well right of the classifier; after recalibration on other folds of the sample, Jev and Luna fall close to zero. Calibration error is the weighted gap between the stated probability and the observed share with one or two stars. Whiskers are 95% intervals from a bootstrap that resamples products.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

    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..

    Figure 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

    Show data
    Data for Letting the data choose the cutoff moves it above p* for the engines
    ModelMedian cutoffLowest foldHighest fold
    Jev 1.14.00.380.350.38
    OpenAI Luna0.220.200.29
    TF-IDF + logistic0.110.090.16
    The dashed rule is the cost cutoff p* = 0.125. Dots to its right belong to models whose probabilities overstate dissatisfaction near the cutoff, so the data push the cutoff up to contact fewer satisfied reviewers.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

    Figure 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 p*
    • At the data-chosen cutoff
    Show data
    Data for A data-chosen cutoff adds the most net value for Jev, the least calibrated engine, and nothing for the classifier
    at_dataat_formulaengineformula_hiformula_lon
    53355076Jev 1.14.0514450045,000
    52735195OpenAI Luna525351355,000
    49855015TF-IDF + logistic510449285,000
    The open dot is net value at p*; the filled dot is net value at the cutoff the data chose, scored on held-out folds. The last column is the gain. Whiskers on the open dots are 95% intervals from a bootstrap that resamples products.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

    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.

    Figure 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

    • Classifier, fit and calibrated on these labels
    • Jev, recalibrated on these labels
    Show data
    Data for For the same labels, recalibrating Jev earns more than fitting a classifier at every size tried
    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
    Read down the rows: both arms use the same labeled reviews, and the line marks raw Jev. Each count is every local label used, including the classifier's calibration labels; the reviews being scored are not among them. Whiskers are ranges across draws and not confidence intervals. Draws differ from the previous chapter's curve, so its numbers differ a little.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

    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.


    Data sources

    • Amazon Reviews 20235,000 coffee reviews, a sample stratified by star ratingWeights: sample_weight restores the star mix of the coffee reviews · License: No license stated; the booklet shows aggregates and short excerpts only

    All data sources

    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.

    How to cite

    @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.}
    }