← Back to home
Comparison · Analytics

BORG vs cIRT

A side-by-side editorial comparison of BORG and cIRT — release velocity, themes, recent moves, and the top alternatives to consider.

Shared themes:r-package

BORG vs cIRT: at a glance

FeatureBORGcIRT
SectorAnalyticsAnalytics
Velocity score0.00.0
Sparks · 30d00
Top themescross-validation, spatial-statistics, model-validation, reproducibilityitem-response-theory, psychometrics, rcpparmadillo, maintenance-mode
Last editorial update25m ago18m ago
WebsiteVisit →Visit →

What is BORG?

A cross-validation guard that refuses to run random CV on dependent data unless you insist

BORG detects spatial, temporal and clustered dependence in a modelling dataset and generates a cross-validation scheme that respects it — spatial blocks, temporal blocks, group folds — rather than letting random splits leak information between train and test. Its distinguishing choice is enforcement: when it finds dependence, random CV is blocked outright and needs an explicit allow_random=TRUE to proceed. The package also wraps the standard rsample and caret entry points so the guard applies inside existing workflows.

Read the full BORG trajectory →

What is cIRT?

A choice-based IRT model published once in 2019 and kept compiling ever since

cIRT implements Choice Item Response Theory, jointly modelling which item a respondent picks and how they perform on it — the setting where subjects choose between a harder and an easier question and the choice itself carries information. It comes out of the TMSA Lab, is built on Rcpp and RcppArmadillo, and has had one substantive release since reaching CRAN. Everything after early 2019 is build-system and toolchain upkeep.

Read the full cIRT trajectory →

BORG vs cIRT: editorial side-by-side

B
BORG
ANALYTICS
0.0

A cross-validation guard that refuses to run random CV on dependent data unless you insist

◆ Current state

BORG detects spatial, temporal and clustered dependence in a modelling dataset and generates a cross-validation scheme that respects it — spatial blocks, temporal blocks, group folds — rather than letting random splits leak information between train and test. Its distinguishing choice is enforcement: when it finds dependence, random CV is blocked outright and needs an explicit allow_random=TRUE to proceed. The package also wraps the standard rsample and caret entry points so the guard applies inside existing workflows.

◆ Where it's heading

The entire visible history is a single day, and the sequence within it is coherent rather than churn: enforcement first, then the evidence layer, then framework integration, then idiomatic R polish. The evidence work matters to the pitch — borg_compare_cv() runs random against blocked CV so users see the inflation on their own data instead of taking the warning on faith, and the methods-text and certificate exports are aimed squarely at getting this into published papers. By the final release the interface has been rebuilt on standard S3 plot and summary methods.

◆ Prediction

The wrappers so far cover rsample and caret; tidymodels and mlr3 are the obvious remaining entry points if the guard is to reach the workflows it hasn't yet intercepted.

C
cIRT
ANALYTICS
0.0

A choice-based IRT model published once in 2019 and kept compiling ever since

◆ Current state

cIRT implements Choice Item Response Theory, jointly modelling which item a respondent picks and how they perform on it — the setting where subjects choose between a harder and an easier question and the choice itself carries information. It comes out of the TMSA Lab, is built on Rcpp and RcppArmadillo, and has had one substantive release since reaching CRAN. Everything after early 2019 is build-system and toolchain upkeep.

◆ Where it's heading

The package's whole functional history fits in a two-day window in January 2019, when the CRAN release and its immediate follow-ups were tagged in one batch, followed a day later by a release enabling C++11 and OpenMP and fixing the choice generation procedure. Since then the releases track other people's deprecations: Armadillo dropping conversions, RcppArmadillo requiring a different Makevars, R raising its floor. The 2025 release is entirely of that kind, down to swapping the README to Quarto.

◆ Prediction

The dependency floors were just raised to current Rcpp and RcppArmadillo, so the next release is most likely the one after Armadillo deprecates something else.

Alternatives to BORG and cIRT

Other Analytics products tracked by Sparkpulse, ranked by recent ship velocity. Each card links to a full editorial trajectory and lets you pivot into a head-to-head comparison with either BORG or cIRT.

See all BORG alternatives → · See all cIRT alternatives →

Recent activity from BORG and cIRT

Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.

  1. 7mo agoBORGInterface rebuilt on standard S3 plot and summary methods
  2. 7mo agoBORGGuarded wrappers for rsample and caret splitting functions
  3. 7mo agoBORGEmpirical inflation comparison and publication-ready reporting
  4. 7mo agoBORGRandom CV blocked by default when dependence is detected
  5. 7mo agoBORGVersion bump to 0.1.1
  6. 10mo agocIRTArmadillo deprecations cleared, build config modernised
  7. 4y agocIRTperson() argument fix and dependency floor raise
  8. 6y agocIRTpkgdown site added, CI moved to GitHub Actions
  9. 7y agocIRTOpenMP enabled and the choice generation bug fixed
  10. 7y agocIRTcIRT 1.0.0: Initial Package Released to CRAN
  11. 7y agocIRTChoice matrix gains hard and easy question ids

Frequently asked questions

What is the difference between BORG and cIRT?

Both compete on the same themes — r-package — within Analytics. BORG and cIRT are shipping at a similar cadence (velocity 0.0 vs 0.0, both within Sparkpulse's "active" band). See the at-a-glance table above for a side-by-side breakdown of velocity, recent sparks, and editorial themes.

Is BORG better than cIRT?

Sparkpulse doesn't pick a winner — we score release velocity, not feature parity. BORG and cIRT are shipping at a similar cadence (velocity 0.0 vs 0.0, both within Sparkpulse's "active" band). For your specific use case, the alternatives sections above list other Analytics products to evaluate alongside.

What are the best alternatives to BORG?

Top BORG alternatives in Analytics are ranked by recent ship velocity. Browse the "BORG alternatives" section above for the current picks, or visit /alternatives/borg for the full list with editorial commentary on each.

What are the best alternatives to cIRT?

Top cIRT alternatives in Analytics are ranked by recent ship velocity. Browse the "cIRT alternatives" section above for the current picks, or visit /alternatives/cirt for the full list with editorial commentary on each.