← Back to home
Comparison · Analytics

BORG vs common

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

Shared themes:r-package

BORG vs common: at a glance

FeatureBORGcommon
SectorAnalyticsAnalytics
Velocity score0.00.0
Sparks · 30d00
Top themescross-validation, spatial-statistics, model-validation, reproducibilityr-utilities, base-r-extensions, infix-operators, data-frame-tools
Last editorial update36m ago34m 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 common?

A base-R utility belt that grows one small function at a time, on no particular schedule

common collects small helpers that base R leaves out — data frame labelling and sorting, infix operators for pasting and equality, UTF-8 superscript and subscript lookups, file and directory search, attribute copying between data frames. It has no dependencies to speak of and deliberately removed the one it had. In practice it is the shared substrate for its author's wider package family, and its source.all() function is maintained specifically to cooperate with the logr logging package.

Read the full common trajectory →

BORG vs common: 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
common
ANALYTICS
0.0

A base-R utility belt that grows one small function at a time, on no particular schedule

◆ Current state

common collects small helpers that base R leaves out — data frame labelling and sorting, infix operators for pasting and equality, UTF-8 superscript and subscript lookups, file and directory search, attribute copying between data frames. It has no dependencies to speak of and deliberately removed the one it had. In practice it is the shared substrate for its author's wider package family, and its source.all() function is maintained specifically to cooperate with the logr logging package.

◆ Where it's heading

The pattern is accretion rather than direction: each release adds a couple of utilities and fixes whatever the last batch broke, with gaps of a year or more between them. Function additions cluster around whatever the author's other packages needed at the time — file search, attribute preservation, group-boundary detection, script sourcing. The 2025 release continues exactly this, extending the infix comparison operators from equality alone to the full set of relational tests.

◆ Prediction

Expect more of the same shape — a handful of small helpers whenever a sibling package needs them — with no sign in these entries of a broader API push.

Alternatives to BORG and common

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 common.

See all BORG alternatives → · See all common alternatives →

Recent activity from BORG and common

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. 8mo agocommonFull set of relational infix operators added
  7. 2y agocommonsource.all() fixed to cooperate with logr
  8. 2y agocommonsource.all() added for sourcing a directory of scripts
  9. 2y agocommonchanged() fixed for single-value input
  10. 2y agocommonchanged() identifies grouping boundaries
  11. 3y agocommonthis.path() dependency removed

Frequently asked questions

What is the difference between BORG and common?

Both compete on the same themes — r-package — within Analytics. BORG and common 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 common?

Sparkpulse doesn't pick a winner — we score release velocity, not feature parity. BORG and common 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 common?

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