{
  "_id": "6a5e41d19baadeef8ab57047",
  "Package": "modelimpact",
  "Type": "Package",
  "Title": "Assess the Business Impact of Classification Models",
  "Version": "1.2.0",
  "Authors@R": "person(\"Peer\", \"Christensen\", email = \"hr.pchristensen@gmail.com\",\nrole = c(\"aut\", \"cre\"))",
  "Description": "Calculate and visualise the financial impact of using a\nclassification model to prioritise or target cases. Although\noriginally designed for customer churn, the same tools apply to\nmany binary classification problems, including fraud detection,\ncredit default, lead scoring and marketing response, upsell and\ncross-sell, and predictive maintenance. Provides cost, revenue,\nprofit and return-on-investment curves as a function of the\nshare of cases targeted, cumulative gains and lift, marginal\nprofit per bin, and confusion-matrix based payoff across\nprobability thresholds. Also includes 'ggplot2' 'autoplot()'\nmethods and an interactive 'shiny' application for exploring\nthe results.",
  "License": "MIT + file LICENSE",
  "URL": "https://github.com/PeerChristensen/modelimpact",
  "BugReports": "https://github.com/PeerChristensen/modelimpact/issues",
  "Encoding": "UTF-8",
  "LazyData": "true",
  "Config/roxygen2/version": "8.0.0",
  "VignetteBuilder": "knitr",
  "Repository": "https://peerchristensen.r-universe.dev",
  "Date/Publication": "2026-07-20 13:47:24 UTC",
  "RemoteUrl": "https://github.com/peerchristensen/modelimpact",
  "RemoteRef": "HEAD",
  "RemoteSha": "783a51c1dc83d9891e21258cd3d71e8e35086ec4",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-07-20 15:39:13 UTC",
    "User": "root"
  },
  "Author": "Peer Christensen [aut, cre]",
  "Maintainer": "Peer Christensen <hr.pchristensen@gmail.com>",
  "_user": "peerchristensen",
  "_type": "src",
  "_file": "modelimpact_1.2.0.tar.gz",
  "_fileid": "https://r2.ropensci.org/580f2fc8945f5e5a3382a42ea28168ea21d4262c7359eb52652d6936855c975e",
  "_filesize": 920778,
  "_sha256": "580f2fc8945f5e5a3382a42ea28168ea21d4262c7359eb52652d6936855c975e",
  "_expires": "2026-10-28T15:42:07.000Z",
  "_created": "2026-07-20T15:39:13.000Z",
  "_published": "2026-07-20T15:42:09.278Z",
  "_jobs": [
    {
      "job": 88398912157,
      "time": 143,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "8466814844"
    },
    {
      "job": 88398911788,
      "time": 138,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8466812445"
    },
    {
      "job": 88398912072,
      "time": 122,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "8466803474"
    },
    {
      "job": 88398911875,
      "time": 98,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8466790051"
    },
    {
      "job": 88398036614,
      "time": 197,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8466734112"
    },
    {
      "job": 88398911763,
      "time": 121,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "8466802394"
    },
    {
      "job": 88398911834,
      "time": 91,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "8466785380"
    },
    {
      "job": 88398911838,
      "time": 92,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "8466787339"
    },
    {
      "job": 88398911865,
      "time": 92,
      "config": "windows-release",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8466785857"
    }
  ],
  "_host": "GitHub-Actions",
  "_buildurl": "https://github.com/r-universe/peerchristensen/actions/runs/29755882829",
  "_status": "success",
  "_upstream": "https://github.com/peerchristensen/modelimpact",
  "_commit": {
    "id": "783a51c1dc83d9891e21258cd3d71e8e35086ec4",
    "author": "PeerChristensen <hr.pchristensen@gmail.com>",
    "committer": "PeerChristensen <hr.pchristensen@gmail.com>",
    "message": "updated readme\n",
    "time": 1784555244
  },
  "_maintainer": {
    "name": "Peer Christensen",
    "email": "hr.pchristensen@gmail.com",
    "login": "peerchristensen",
    "linkedin": "in/peer-christensen-datascientist",
    "twitter": "@PeerChristensen",
    "description": "Data Science & AI Lead",
    "uuid": 7235703
  },
  "_distro": "resolute",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 2.10",
      "role": "Depends"
    },
    {
      "package": "dplyr",
      "role": "Imports"
    },
    {
      "package": "generics",
      "role": "Imports"
    },
    {
      "package": "magrittr",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "ggplot2",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "quarto",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "scales",
      "role": "Suggests"
    },
    {
      "package": "shiny",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    }
  ],
  "_owner": "peerchristensen",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-28",
      "n": 4
    },
    {
      "week": "2026-30",
      "n": 8
    }
  ],
  "_tags": [
    {
      "name": "v1.1.0",
      "date": "2026-07-09"
    }
  ],
  "_topics": [
    "churn-prediction"
  ],
  "_stars": 2,
  "_contributors": [
    {
      "user": "peerchristensen",
      "count": 34,
      "uuid": 7235703
    }
  ],
  "_userbio": {
    "uuid": 7235703,
    "type": "user",
    "name": "Peer Christensen",
    "followers": 23,
    "description": "Data Science & AI Lead"
  },
  "_downloads": {
    "count": 240,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/modelimpact"
  },
  "_devurl": "https://github.com/peerchristensen/modelimpact",
  "_searchresults": 3,
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/modelimpact.html",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "LICENSE",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/peerchristensen/modelimpact",
  "_realowner": "peerchristensen",
  "_cranurl": true,
  "_releases": [
    {
      "version": "1.0.0",
      "date": "2021-05-06"
    },
    {
      "version": "1.1.0",
      "date": "2026-07-08"
    }
  ],
  "_exports": [
    "bootstrap_profit",
    "break_even",
    "budget_frontier",
    "budget_profit",
    "compare_models",
    "confusion_payoff",
    "cost_revenue",
    "cumulative_gains",
    "glance",
    "impact_report",
    "impact_summary",
    "lift_curve",
    "marginal_profit",
    "payoff_grid",
    "plot_budget",
    "plot_cost_revenue",
    "plot_gains",
    "plot_lift",
    "plot_marginal",
    "plot_profit",
    "plot_qini",
    "plot_roc",
    "plot_roi",
    "plot_thresholds",
    "plot_value_gains",
    "profit",
    "profit_thresholds",
    "qini_curve",
    "roc_pr",
    "roi",
    "run_app",
    "tidy",
    "tornado",
    "uplift_profit",
    "value_gains",
    "value_profit"
  ],
  "_datasets": [
    {
      "name": "predictions",
      "title": "Predictions from a customer churn model.",
      "object": "predictions",
      "class": [
        "spec_tbl_df",
        "tbl_df",
        "tbl",
        "data.frame"
      ],
      "fields": [
        "predict",
        "No",
        "Yes",
        "Churn"
      ],
      "rows": 2145,
      "table": true,
      "tojson": true
    }
  ],
  "_help": [
    {
      "page": "bootstrap_profit",
      "title": "Bootstrap confidence bands for the profit curve",
      "topics": [
        "bootstrap_profit"
      ]
    },
    {
      "page": "break_even",
      "title": "Break-even and optimal targeting point",
      "topics": [
        "break_even"
      ]
    },
    {
      "page": "budget_profit",
      "title": "Budget-constrained targeting",
      "topics": [
        "budget_frontier",
        "budget_profit"
      ]
    },
    {
      "page": "compare_models",
      "title": "Compare several models on a business-impact metric",
      "topics": [
        "compare_models"
      ]
    },
    {
      "page": "confusion_payoff",
      "title": "Confusion matrix and payoff at a single threshold",
      "topics": [
        "confusion_payoff"
      ]
    },
    {
      "page": "cost_revenue",
      "title": "Calculate cost and revenue",
      "topics": [
        "cost_revenue"
      ]
    },
    {
      "page": "cumulative_gains",
      "title": "Cumulative gains",
      "topics": [
        "cumulative_gains"
      ]
    },
    {
      "page": "impact_report",
      "title": "Render a model-impact report",
      "topics": [
        "impact_report"
      ]
    },
    {
      "page": "impact_summary",
      "title": "One-line business-impact summary",
      "topics": [
        "impact_summary"
      ]
    },
    {
      "page": "lift_curve",
      "title": "Lift",
      "topics": [
        "lift_curve"
      ]
    },
    {
      "page": "marginal_profit",
      "title": "Marginal profit per bin",
      "topics": [
        "marginal_profit"
      ]
    },
    {
      "page": "modelimpact-plots",
      "title": "Plot modelimpact results",
      "topics": [
        "autoplot.mi_bootstrap",
        "autoplot.mi_budget",
        "autoplot.mi_compare",
        "autoplot.mi_cost_revenue",
        "autoplot.mi_gains",
        "autoplot.mi_lift",
        "autoplot.mi_marginal",
        "autoplot.mi_profit",
        "autoplot.mi_qini",
        "autoplot.mi_roc",
        "autoplot.mi_roi",
        "autoplot.mi_thresholds",
        "autoplot.mi_value_gains",
        "modelimpact-plots",
        "plot_budget",
        "plot_cost_revenue",
        "plot_gains",
        "plot_lift",
        "plot_marginal",
        "plot_profit",
        "plot_qini",
        "plot_roc",
        "plot_roi",
        "plot_thresholds",
        "plot_value_gains"
      ]
    },
    {
      "page": "modelimpact-tidiers",
      "title": "Tidy and glance methods for modelimpact results",
      "topics": [
        "glance.mi_budget",
        "glance.mi_profit",
        "glance.mi_qini",
        "glance.mi_thresholds",
        "glance.mi_value_gains",
        "modelimpact-tidiers",
        "tidy.mi_bootstrap",
        "tidy.mi_budget",
        "tidy.mi_compare",
        "tidy.mi_cost_revenue",
        "tidy.mi_gains",
        "tidy.mi_lift",
        "tidy.mi_marginal",
        "tidy.mi_profit",
        "tidy.mi_qini",
        "tidy.mi_roc",
        "tidy.mi_roi",
        "tidy.mi_thresholds",
        "tidy.mi_value_gains"
      ]
    },
    {
      "page": "payoff_grid",
      "title": "Payoff sensitivity grid",
      "topics": [
        "payoff_grid"
      ]
    },
    {
      "page": "predictions",
      "title": "Predictions from a customer churn model.",
      "topics": [
        "predictions"
      ]
    },
    {
      "page": "profit",
      "title": "Calculate profit",
      "topics": [
        "profit"
      ]
    },
    {
      "page": "profit_thresholds",
      "title": "Find optimal threshold for churn prediction (class)",
      "topics": [
        "profit_thresholds"
      ]
    },
    {
      "page": "qini_curve",
      "title": "Qini (uplift) curve",
      "topics": [
        "qini_curve"
      ]
    },
    {
      "page": "roc_pr",
      "title": "ROC and precision-recall curve data",
      "topics": [
        "roc_pr"
      ]
    },
    {
      "page": "roi",
      "title": "Calculate Return on investment (ROI)",
      "topics": [
        "roi"
      ]
    },
    {
      "page": "run_app",
      "title": "Launch the interactive modelimpact Shiny app",
      "topics": [
        "run_app"
      ]
    },
    {
      "page": "tornado",
      "title": "Tornado sensitivity analysis of maximum profit",
      "topics": [
        "tornado"
      ]
    },
    {
      "page": "uplift_profit",
      "title": "Profit of an uplift campaign",
      "topics": [
        "uplift_profit"
      ]
    },
    {
      "page": "value_gains",
      "title": "Value gains for a regression model",
      "topics": [
        "value_gains"
      ]
    },
    {
      "page": "value_profit",
      "title": "Profit for a regression model",
      "topics": [
        "value_profit"
      ]
    }
  ],
  "_pkglogo": "https://github.com/peerchristensen/modelimpact/raw/HEAD/man/figures/logo.png",
  "_readme": "https://github.com/peerchristensen/modelimpact/raw/HEAD/README.md",
  "_rundeps": [
    "cli",
    "dplyr",
    "generics",
    "glue",
    "lifecycle",
    "magrittr",
    "pillar",
    "pkgconfig",
    "R6",
    "rlang",
    "tibble",
    "tidyselect",
    "utf8",
    "vctrs",
    "withr"
  ],
  "_vignettes": [
    {
      "source": "beyond-churn.Rmd",
      "filename": "beyond-churn.html",
      "title": "Beyond churn: applying modelimpact to other use cases",
      "engine": "knitr::rmarkdown",
      "headings": [
        "The same engine, many problems",
        "A worked example: fraud detection",
        "The economics",
        "Cost and revenue as we review more transactions",
        "How far down the ranked list should we review?",
        "Choosing a decision threshold",
        "Adapting to your own use case",
        "Regression models: targeting by predicted value",
        "How much value do we capture?",
        "What is the profit of targeting by predicted value?"
      ],
      "created": "2026-07-20 08:08:15",
      "modified": "2026-07-20 09:47:29",
      "commits": 2
    }
  ],
  "_score": 4.301029995663981,
  "_indexed": true,
  "_nocasepkg": "modelimpact",
  "_universes": [
    "peerchristensen"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.2.0",
      "date": "2026-07-20T15:41:28.000Z",
      "distro": "resolute",
      "commit": "783a51c1dc83d9891e21258cd3d71e8e35086ec4",
      "fileid": "https://r2.ropensci.org/349b55398d99b4a5eba0a8f7d7826d7b4a06857dd2ce8b602a2e49c0fe0ca3d2",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/peerchristensen/actions/runs/29755882829"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "1.2.0",
      "date": "2026-07-20T15:41:24.000Z",
      "distro": "resolute",
      "commit": "783a51c1dc83d9891e21258cd3d71e8e35086ec4",
      "fileid": "https://r2.ropensci.org/aeb382d5dd9a21a96941d1f073d52cc212670c18fa7865ae0ddc3d2092de6b53",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/peerchristensen/actions/runs/29755882829"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "1.2.0",
      "date": "2026-07-20T15:41:09.000Z",
      "commit": "783a51c1dc83d9891e21258cd3d71e8e35086ec4",
      "fileid": "https://r2.ropensci.org/270216dde9bfd56c9cddfdea1afbeec19b3872fd61d0cef02a87bff6404fbfb1",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/peerchristensen/actions/runs/29755882829"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "1.2.0",
      "date": "2026-07-20T15:40:48.000Z",
      "commit": "783a51c1dc83d9891e21258cd3d71e8e35086ec4",
      "fileid": "https://r2.ropensci.org/38420031552ed291d7b196148fa0a1667ef2fbf2d08a0cdfdc6dcba4a0eeb05c",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/peerchristensen/actions/runs/29755882829"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "1.2.0",
      "date": "2026-07-20T15:41:28.000Z",
      "commit": "783a51c1dc83d9891e21258cd3d71e8e35086ec4",
      "fileid": "https://r2.ropensci.org/30def62c9a20aaa897360d67f777b2249ddde25e60f759c0c050131a0dd1b8e1",
      "status": "success",
      "buildurl": "https://github.com/r-universe/peerchristensen/actions/runs/29755882829"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "1.2.0",
      "date": "2026-07-20T15:40:25.000Z",
      "commit": "783a51c1dc83d9891e21258cd3d71e8e35086ec4",
      "fileid": "https://r2.ropensci.org/18c5703a4131c00032010eba2214327390d0d6df0ee2f68fdba8024047d1a4bc",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/peerchristensen/actions/runs/29755882829"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "1.2.0",
      "date": "2026-07-20T15:40:30.000Z",
      "commit": "783a51c1dc83d9891e21258cd3d71e8e35086ec4",
      "fileid": "https://r2.ropensci.org/5662095260eb387ee90bcb935ee67110b787586db0ecf70e06593e10708f364f",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/peerchristensen/actions/runs/29755882829"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "1.2.0",
      "date": "2026-07-20T15:40:28.000Z",
      "commit": "783a51c1dc83d9891e21258cd3d71e8e35086ec4",
      "fileid": "https://r2.ropensci.org/ee65dfc64f43b068f2f813369ab9a6954ec717c51ce571f441e7495d9d0ac67e",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/peerchristensen/actions/runs/29755882829"
    }
  ]
}