Plain-Language Machine Learning Metrics for Real Decisions

A practical explanation of ML metrics with decision tables for regression tolerance, rare-event classification, threshold tradeoffs, and the failure case where accuracy looked good but the decision failed.

By Jovani Pink October 11, 2025 16 min — Platform & AI Engineering

Outcome focus: Clarified how metric choice, threshold design, tree-based pattern discovery, and logit interpretation affect whether ML outputs are useful for action.

Machine learning gets confusing when the words sound familiar but mean different things in different problems.

Accuracy is a good example. Everyone knows what accurate means in ordinary language. A prediction was right or wrong. Close or not close. Useful or not useful. But in machine learning, accuracy has a more specific meaning, and that meaning fits classification much better than regression.

That mismatch causes bad conversations.

A stakeholder asks whether the model is accurate. An analyst reports a metric. An engineer clarifies the target. A business leader wants to know whether the model can find the people who need attention. Everyone is using reasonable language, but the question underneath keeps moving.

The first job is not to choose the model.

The first job is to decide what kind of decision the model is supposed to support.

If the business needs a numerical estimate, regression metrics may be the right language. If the business needs to identify a high-risk group for intervention, classification metrics may be more honest, even if the original label is numeric. If the population is imbalanced, AUC-ROC may not tell the full story. If the model needs to be explained to operators, a decision-tree-first approach may be worth using even when the tree is not the final model.

Metrics are not decoration.

They define what the team is allowed to call progress.

Accuracy is not one thing#

In classification, accuracy is straightforward.

If the model predicts spam or not spam, churn or not churn, fraud or not fraud, detractor or not detractor, accuracy is the percentage of labels the model gets right.

That can be useful when the classes are balanced and the cost of mistakes is similar. If half the examples are positive and half are negative, and false positives and false negatives matter about the same, classification accuracy can give a quick read.

But even in classification, accuracy can hide the thing that matters.

If only 3 percent of patients are severe detractors, a model can be 97 percent accurate by predicting that nobody is a severe detractor. That sounds excellent until the team realizes the model found zero of the people it was built to help.

In regression, accuracy becomes even trickier.

Regression predicts continuous values. A model might predict a satisfaction score of 7.28 when the actual score is 7.3. Under exact-match accuracy, that prediction would be wrong, even though it is practically excellent. Another model might predict 2.0 when the true value is 7.3, and it would also be wrong. Exact-match accuracy treats both misses the same.

That is not useful.

For regression, the better question is usually "how far off are we."

That leads to metrics like Mean Absolute Error, Root Mean Squared Error, and R-squared. Mean Absolute Error tells the average distance between predicted and actual values. Root Mean Squared Error also measures error, but penalizes larger misses more heavily. R-squared explains how much of the variance in the target the model captures compared with a baseline.

Those metrics fit the shape of regression better than exact accuracy.

Still, there are cases where an accuracy-like number helps people understand the model. A tolerance-band metric can answer a practical question: what percentage of predictions are close enough?

For a 0 to 10 satisfaction or NPS-style score, the team might report "within one-point accuracy." That means the prediction lands within one point of the actual score. If the model achieves 86 percent within one-point accuracy, then 86 percent of predictions are no more than one point away from the true value.

That is not formal classification accuracy.

It is a business-friendly closeness metric.

The distinction matters because the wrong name can create the wrong confidence.

Regression may not be the business problem#

A numeric target does not always mean the business needs a regression model.

Suppose the raw label is a score from 0 to 10. The first instinct may be to predict the exact score. That is regression. The model estimates a continuous value, and the team evaluates error.

But the business may not actually care whether a patient is predicted as 7.1 versus 7.8.

The business may care about finding the people at serious risk of dissatisfaction so someone can intervene. That is a different question. It is not "what exact score will this person give." It is "is this person likely to be a severe detractor."

Now the problem has changed from regression to classification.

That reframing can be the right move. It aligns the model with the decision. It also changes the metric conversation. Instead of asking how close the score estimate is, the team asks whether the model ranks or identifies severe detractors better than chance, whether it catches enough of them, and whether the intervention list is precise enough to act on.

This is why modeling conversations should start with the action.

If the action is "estimate future score," regression is natural. If the action is "prioritize outreach," classification may be better. If the action is "rank cases for review," ranking metrics may matter more than a hard class label.

The target variable is not the whole problem definition.

The decision is.

AUC-ROC tells a threshold story#

AUC-ROC is a classification metric.

ROC stands for Receiver Operating Characteristic. The idea comes from signal detection, where the problem was distinguishing signal from noise. In machine learning, the ROC curve shows how the true positive rate and false positive rate change as the classification threshold moves.

Imagine a model outputs a probability that a patient will be a severe detractor.

If the threshold is 0.5, patients above 0.5 are flagged. If the threshold is 0.3, more patients are flagged. That may catch more true detractors, but it may also create more false alarms. If the threshold is 0.8, fewer patients are flagged. That may reduce false alarms, but it may miss more people who needed help.

The ROC curve shows that tradeoff across thresholds.

The area under the curve, AUC, summarizes how well the model separates positives from negatives. An AUC of 0.5 means the model is no better than random ranking. An AUC of 1.0 means perfect separation. In many real business problems, 0.65 to 0.70 can represent modest but real signal, while 0.80 and above is stronger.

The value of AUC-ROC is that it does not depend on one threshold.

It asks whether positives tend to receive higher scores than negatives across the ranking. That is useful when the team has not decided the operating threshold yet.

But AUC-ROC can also flatter a model in imbalanced settings.

When the negative class is huge, a model can look good at avoiding false positives in aggregate while still being poor at finding the minority class with enough precision for action. This is why AUC-ROC should not be the only metric for rare-event problems.

It answers a real question.

It just may not answer the most operational one.

Average Precision is stricter for rare positives#

Average Precision is also a classification metric, and it is often more useful when the positive class is rare.

To understand it, start with precision and recall.

Precision asks: of everyone the model flagged, what fraction really were positive?

Recall asks: of everyone who truly was positive, what fraction did the model catch?

These two measures usually trade off. If the team flags almost everyone, recall will be high because most positives are caught, but precision will be low because the list is full of false positives. If the team flags only the most obvious cases, precision may be higher, but recall may fall because many positives are missed.

The precision-recall curve shows that tradeoff across thresholds.

Average Precision summarizes the area under that curve. The key difference from AUC-ROC is the baseline. A random classifier's Average Precision is roughly the prevalence of the positive class. If severe detractors are 3.6 percent of the population, the random baseline is about 0.036.

So an Average Precision of 0.059 may look small at first.

But it is meaningfully above the rare-event baseline.

That does not automatically mean the model is ready for production. It means the model has some signal. The next question is operational: at the threshold the business can support, how many people will be flagged, how many will be true positives, how many severe detractors will be missed, and what is the cost of each mistake?

Average Precision is valuable because it keeps attention on the minority class.

For severe detractors, fraud, adverse events, churn risk, critical defects, or any rare but important outcome, that focus is usually closer to the business problem.

Decision trees are useful even when they are not final#

Decision trees are often introduced as simple models.

That undersells them.

A decision tree recursively splits data into groups. At each node, the model asks a yes-or-no question about a feature. Is age greater than 65? Is fill percentage above 50 percent? Is rejection count above one? Is wait time greater than 47 minutes?

The model chooses splits that separate the target as well as possible. The result is a flowchart of rules.

That flowchart is the point.

The decision-tree-first approach uses trees as an analytical tool before deciding on the final model. The tree may not be the production model. It may overfit. It may be less accurate than gradient boosting or another method. But it can reveal structure in the data that the team needs to understand.

Trees are especially useful for three reasons.

First, they find interactions naturally. A patient may not be high risk because of age alone or rejection count alone. The combination may matter. A tree can discover that a feature becomes important only after another condition is true.

Second, trees reveal thresholds. A model might discover that risk changes meaningfully after two rejections, or after a wait time crosses a certain point. That threshold can become an operational rule or a candidate feature.

Third, trees create language for stakeholders. A rule like "patients under 49 with more than one rejection in the last 90 days are at elevated risk" is easier to discuss than an opaque coefficient table or high-dimensional embedding.

This does not mean the tree is automatically right.

Tree thresholds can be unstable, especially with small data or noisy labels. A split at 49 years old may really mean "around 50." A single run should not become policy without validation. But the tree can reveal a hypothesis worth testing.

That is the value.

Trees can build features for other models#

One practical pattern is to let a tree discover interactions, then feed those interactions into another model.

Suppose the tree discovers a path:

age < 49
AND rejection_count_90d > 1
AND recent_delay = true

The team can turn that path into a binary feature:

young_with_rejections_and_delay = true or false

Then that feature can be used in logistic regression, gradient boosting, or another model. The tree did the pattern discovery. The next model uses the pattern in a different statistical framework.

This is one reason a decision-tree-first approach can be effective for applied ML teams. It helps bridge exploration and production modeling. It also makes feature engineering more empirical. Instead of guessing which interactions matter, the team can use tree paths as candidates.

There is also a known hybrid family sometimes called logit leaf modeling. The basic idea is to train a tree to segment the population, then fit logistic regression within the leaves or use leaf membership as part of a logistic model. The tree handles segmentation and nonlinear structure. The logistic model brings interpretable odds-based relationships within those segments.

The exact implementation can vary.

The principle is what matters: use the tree to understand structure, not only to produce predictions.

Logit is log-odds#

The word logit sounds more intimidating than the idea.

Start with probability. If there is a 75 percent chance of rain, the probability is 0.75. Probabilities live between 0 and 1.

Odds express the same idea differently. Odds are the probability of the event divided by the probability of the event not happening. If the probability of rain is 0.75, the probability of no rain is 0.25. The odds are 0.75 divided by 0.25, which is 3. That means 3 to 1 odds in favor of rain.

The logit is the natural logarithm of the odds.

So for 75 percent probability, the logit is the natural log of 3, which is about 1.1.

The useful property is that logits are unbounded. Probabilities are stuck between 0 and 1, but logits can range from negative infinity to positive infinity. A probability of 0.5 has odds of 1 and a logit of 0. Probabilities below 0.5 have negative logits. Probabilities above 0.5 have positive logits.

This matters because linear models can produce any real number.

If a linear model directly predicted probability, it could produce impossible values like -0.2 or 1.4. Logistic regression solves that by predicting the logit. The model calculates a linear score, then passes it through the logistic function, also called the sigmoid, to convert it back into a probability between 0 and 1.

That is why logistic regression is logistic.

It models log-odds as a linear function of features.

Why logits are useful in practice#

Logits matter because they make probability modeling mathematically workable and interpretable.

In logistic regression, each coefficient shifts the log-odds. If the coefficient for a high rejection flag is 0.7, then having that flag increases the odds by a factor of e^0.7, which is about 2. In plain language, the odds are roughly doubled, holding other features constant.

That is powerful.

The model does not only say "this feature matters." It gives a directional, interpretable odds relationship. This is one reason logistic regression remains useful even when more complex models are available.

In neural networks, logits often refer to the raw model outputs before the final probability conversion. A classifier may output logits for each class, then apply softmax to turn them into probabilities. The logits are not probabilities yet. They are scores that become probabilities after transformation.

So logit can mean three related things:

  • The log-odds of a probability.
  • The raw score before a sigmoid or softmax.
  • A shorthand for logistic regression or models built around log-odds.

Once that is clear, the term becomes less mysterious.

It is a bridge between linear scores and probabilities.

How I would explain the whole system#

If I were explaining this to a mixed technical and business audience, I would avoid starting with formulas.

I would start with the decision.

If we need an exact score, we use regression and evaluate error. We can still report a tolerance metric like within one point if that helps people understand practical closeness.

If we need to find severe detractors, we turn the problem into classification and evaluate whether the model can distinguish that group from everyone else.

If severe detractors are rare, we do not trust accuracy alone. We look at precision, recall, Average Precision, and the threshold tradeoff.

If we need to explain patterns, we use decision trees to reveal interactions and thresholds. We validate those patterns before turning them into policy.

If we need an interpretable probability model, logistic regression and logits help us connect features to odds.

Each concept has a job.

The trouble starts when the team asks one concept to do another concept's job.

A metric-choice table I use in reviews#

When a model review gets fuzzy, I like to put the metric next to the decision.

DecisionBad default metricBetter first metricWhy
Estimate delivery delay in daysExact-match accuracyMAE plus percent within toleranceThe business can often tolerate small misses
Find rare severe detractorsAccuracyAverage Precision, recall at capacity, precision at thresholdThe positive class is rare
Rank accounts for outreachAUC-ROC aloneLift in top-k and expected utilityOutreach capacity matters
Explain operational patternsBlack-box score onlyShallow tree or feature interaction reviewTeams need rules they can inspect
Automate low-risk casesModel confidenceCalibrated probability and reliability diagramA score must mean what it claims

The table forces the question that matters: what action changes if the model is right?

When accuracy looked good and the decision failed#

Here is a sanitized example.

A team wanted to identify severe detractors from support and survey data. Severe detractors were rare, around 6 percent of the labeled set. A classifier with 94 percent accuracy looked excellent in the project summary.

It was useless.

The model could predict "not severe" for almost everyone and still look strong. The team did not need a model that described the majority. It needed a short intervention list that captured enough severe detractors to be worth the outreach effort.

The review changed when we moved from accuracy to a threshold table:

ThresholdAccounts flaggedPrecisionRecallExpected action
0.151,20018%72%Too many for team capacity
0.2562027%55%Plausible weekly queue
0.4025039%31%High precision, misses too many
0.609051%12%Escalation-only list

The numbers above are illustrative. The pattern is common.

The right threshold was not the one with the prettiest model metric. It was the one the retention team could actually work. If the team can handle about 600 accounts in a cycle, the 0.25 threshold is the first serious candidate even though it is less "confident" than 0.60.

This is also where calibration matters. If a score of 0.25 does not mean roughly 25 percent risk over similar cases, the threshold conversation is built on sand. Ranking can still be useful, but the probability should not be used as if it were a frequency estimate.

Failure modes#

The first failure mode is reporting classification accuracy on an imbalanced rare-event problem. It makes the model look strong while failing the users who matter most.

The second is calling a regression tolerance metric "accuracy" without explaining the tolerance. Within one point is useful. Exact match is different.

The third is using AUC-ROC alone when the positive class is rare. The model may rank reasonably while still producing a weak intervention list.

The fourth is treating Average Precision as bad because the number looks small. The correct baseline is prevalence, not 0.5.

The fifth is trusting decision-tree thresholds too literally. A split can suggest a useful boundary without proving that the exact value is causal or stable.

The sixth is building complex models before understanding the business action. A stronger model is not useful if it optimizes the wrong decision.

The seventh is treating logits as probabilities. They are not. They need the logistic or softmax transformation before they become probabilities.

The eighth is skipping calibration. A classifier can rank well but produce probabilities that are not trustworthy enough for decision thresholds.

These mistakes are common because the vocabulary feels familiar.

The fix is to keep tying the metric back to the decision.

The point#

Machine learning concepts become clearer when they are attached to work.

Accuracy is not just a number. It is a claim about what counts as correct. AUC-ROC is not just a curve. It is a threshold-independent ranking story. Average Precision is not just a small decimal. It is a rare-event signal compared with prevalence. A decision tree is not just a simple model. It is a way to expose interactions, thresholds, and possible business rules. A logit is not just jargon. It is the log-odds bridge that lets linear models produce probabilities.

The practical question is always the same:

What decision is this model helping someone make?

Once that is clear, the metrics become less abstract. They become part of the operating system around the model.

That is where machine learning starts to become useful.

Back to all writing
On this page
  1. Accuracy is not one thing
  2. Regression may not be the business problem
  3. AUC-ROC tells a threshold story
  4. Average Precision is stricter for rare positives
  5. Decision trees are useful even when they are not final
  6. Trees can build features for other models
  7. Logit is log-odds
  8. Why logits are useful in practice
  9. How I would explain the whole system
  10. A metric-choice table I use in reviews
  11. When accuracy looked good and the decision failed
  12. Failure modes
  13. The point