{
  "slug": "precision",
  "term": "Precision",
  "aliases": [
    "positive predictive value",
    "PPV"
  ],
  "definition": "Precision is the fraction of positive predictions that match observed positive outcomes at a specified decision threshold.",
  "note": "For binary failure prediction, precision = TP / (TP + FP), where TP counts correct positive predictions and FP counts false positives. Its denominator is alerts, not healthy observations. It is undefined when no positives are predicted; report any software convention used for that case. [sklearn-precision] A different failure prevalence can change precision even when recall and false positive rate stay fixed. [saito2015]",
  "limitations": [
    {
      "text": "Specify the failure label, prediction horizon and counting unit; a drive-day alert is not automatically a distinct drive selected for replacement.",
      "citationIds": [
        "hesela-prediction"
      ]
    }
  ],
  "related": [
    "recall",
    "false-positive-rate",
    "class-prevalence",
    "average-precision",
    "smart"
  ],
  "citations": [
    {
      "id": "sklearn-precision",
      "title": "scikit-learn: precision_score; binary precision and zero-division behavior.",
      "url": "https://scikit-learn.org/stable/modules/generated/sklearn.metrics.precision_score.html",
      "accessed": "2026-10-12"
    },
    {
      "id": "saito2015",
      "title": "Saito and Rehmsmeier. The Precision-Recall Plot Is More Informative than the ROC Plot When Evaluating Binary Classifiers on Imbalanced Datasets. PLOS ONE 10(3): e0118432 (2015).",
      "url": "https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0118432",
      "accessed": "2026-10-12"
    },
    {
      "id": "hesela-prediction",
      "title": "Hesela: disk failure prediction, metric denominators and a synthetic alert-count example.",
      "url": "https://hesela.com/analyses/ml-disk-failure-prediction/",
      "accessed": "2026-10-12"
    }
  ],
  "status": "shipping",
  "advantages": [],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-10-12"
}
