Skip to content

DecisionDrift

0.2.0Package record

Detecting, Decomposing, and Stress-Testing Temporal Change in Repeated Decision Systems

0packages depend
2.2Kdownloads / year
69.6%test coverage
13/13flavors OK

Overview

About

Tools for detecting, decomposing, and testing temporal change in repeated binary decision systems. Decomposes each change in the decision rate into inflow (uptake) and outflow (reversal) through the marginal-transition identity, separates net change from gross turnover, and splits aggregate change into within-group and composition components with a symmetric midpoint decomposition. A unit-level cluster bootstrap gives intervals for every component and a global test of process stability with family-wise-adjusted contrasts and simultaneous confidence bands. Also provides prevalence and transition drift summaries, entropy trends, group-differential drift, change-point diagnostics, robustness and sensitivity analyses, an integrated audit, and a simulator for stable, marginal, masked, abrupt, group-masked, and composition-change scenarios. Complements the 'decisionpaths' package. Applications include algorithmic audit, AI governance, education, health, and organisational research.

Changes in 0.2.0

New features

  • dd_decompose() -- flow decomposition of each change in the decision rate into inflow (uptake) and outflow (reversal) using the marginal-transition identity. Reports turnover, net endpoint change (NEC), cumulative marginal burden (CMB), cumulative transition burden (CTB), and, for unbalanced panels, the gap between paired and cross-sectional change.
  • dd_group_decompose() -- symmetric midpoint decomposition of aggregate change into within-group and composition components, composition drift D_C, and group-specific uptake and reversal. Supports time-varying group membership.
  • dd_cluster_bootstrap() -- unit-level cluster bootstrap that keeps each unit's full history. One set of draws can be shared by all inference functions.
Show all changes in 0.2.0Hide the rest of the changes in 0.2.0
  • dd_global_test() -- global test that uptake, reversal, and/or prevalence are constant across waves, overall or by group. Max-t and Wald statistics with a centred bootstrap null; familywise-adjusted p-values and simultaneous confidence bands. Contrasts compare each step with the previous one (contrast = "consecutive", default) or with the first one (contrast = "baseline", more power against gradual drift).
  • dd_simulate() -- simulate panels under stable, marginal, masked, abrupt, group-masked, and composition-change scenarios, or custom uptake and reversal sequences.
  • inst/simulation/mc_study.R -- script for the Monte Carlo study comparing the prevalence trend test with the global stability test.
  • dd_decompose, dd_group_decompose, and dd_global_test have print() and plot() methods.

Changes to existing functions

  • dd_audit() no longer returns "no drift detected", "marginal drift", "moderate drift", or "strong drift". Those labels came from fixed, uncalibrated cut-offs. The audit now runs one cluster bootstrap, the flow and group decompositions, and dd_global_test(), and returns a conclusion stating the test result at level alpha. verdict is kept as an alias of conclusion. New arguments: global_test, components, alpha, thresholds (user-supplied practical cut-offs), and seed.
  • dd_changepoint(): the event-alignment result no longer has a "strong"/"weak" evidence label; it returns alpha and a logical significant. Documentation now notes that the wave-level methods have little power with few waves.

Bug fixes

  • dd_transition(): reversal_drift held the mean absolute change in uptake P(1|0), not reversal. It now holds the mean absolute change in reversal P(0|1). The uptake value is now returned as uptake_drift. TDI values are unchanged. Code that used reversal_drift from 0.1.0 was reading uptake drift and should switch to uptake_drift to keep the old numbers.
  • dd_transition() and dd_indices() documentation now gives the TDI and CDB formulas in terms of uptake, reversal, and the decision rate.
  • plot.dd_transition() now shows uptake and reversal.
  • Repository URLs updated to github.com/subirhait.

From NEWS.md in the release

Install

Health

CRAN checks
13OK
Slowest check: 2.8 min · r-oldrel-macos-x86_64
Status changes
  • OK13 OK2026-08-05
  • NOTE12 OK, 1 NOTE2026-08-01
  • OK3 OK2026-04-17
Advisories

none known

Documentation

In release 0.2.0
READMEYes · 638 wordsVignettesYes · 1 · dynamicNEWSYes · 100% structured · mentions 0.2.0Citation fileNoWebsitenot declared in DESCRIPTION
Help pages
26
Examples that run
100%15 run in a plain check
Exported functions with examples
100%
Documented parameters
97%
Return-value docs
100%
Help pages citing references
0%

Downloads

2.2K
CRAN downloads in the past year
Rank #12,536 · ~6/day · ~186/mo
Daily download trend is not available in this view yet.
33130 days
89890 days
2.2K1 year
Compare downloads with other packages →
Also on38 r2u2 autocran

Repository

0Stars
0Forks
0Open issues
0Open PRs
0Releases
Last activity 2026-04-12 · The default branch showed an older version (0.1.0) than CRAN on 2026-10-22
Responsiveness
not measured
Earlier repositories
PracticesBeta

2 development-tooling and community-health practices detected across 2 families in the upstream repository

Checks run against github.com/subirhait/decisiondrift on 2026-10-22.

CRAN release process (1)
cran-comments.md
Lint, format, editor (1)
RStudio project
How this is detected·Detection ruleset v4 (2026-10-20)

Dependencies

Declared dependencies
9 external dependencies (excludes base and recommended)

Installing DecisionDrift adds 10 packages (7 with compiled code, 4.0 MB of source tarballs). Heaviest: vctrs 1.0 MB, rlang 766 KB, cli 629 KB.

Depends (1)
R >= 4.1.0
Imports (5)
clirlangstatstibbleutils
LinkingTo (0)
none
Enhances (0)
none
Reverse dependencies
0direct
0indirect

Nothing depends on this yet.

People & History

People (1)
Author, Maintainer since 0.1.0 (2026)
Releases (2)

Pick two releases to compare their code metrics.

  • 0.2.0Latest
    record
    2026-10-17 · current release · diff ↗ ·
    added 5 exports
    dd_cluster_bootstrap, dd_decompose, dd_global_test, dd_group_decompose, dd_simulate
    ·
    listed once in CRAN's queue
    Seen in one reading of CRAN's incoming queue, at 2026-10-17 02:21 UTC, so it stayed less than the time between readings.
  • R
    R 4.6.0 released · 2026-04-24
  • 0.1.0
    record
    2026-04-16
  • R
    R 4.5.0 released · 2025-04-11
Across CRAN, the median accepted release of the past year spent 26 hours in the queue, 90% under 11 days.How queue time is measured

Package metadata

First published
2026-04-16
Total releases
2 / 1 yrs
License
MIT + file LICENSE OSI
Minimum R
≥ 4.1.0
Download size
148 KB

Cite

Cite this package

Run in R for the authors' preferred citation:

citation("DecisionDrift")
Hait, S. (2026). DecisionDrift: Detecting, Decomposing, and Stress-Testing Temporal Change in Repeated Decision Systems (Version 0.2.0) [Computer software]. https://doi.org/10.32614/CRAN.package.DecisionDrift

This package has no citation file, so citation() returns this entry built from DESCRIPTION.

Cite the R Observatory

For a number measured here: a download total, a coverage figure, an archival date.

APA

Balamuta, J. J. (2026). R Observatory: Metrics for DecisionDrift version 0.2.0 [Data set]. HJJB, LLC. Data release v2026-10-24. https://doi.org/10.5281/zenodo.21843040

From data release v2026-10-24, which the citation names so these numbers can be found later. More on citing and the projects behind them.

Report a problem with this page →

Privacy choices

These apply to this browser and are stored on this device only. Nothing about your choice is sent to us.

Read the privacy policy