FoRecoML
The machine-learning arm of a forecast reconciliation toolkit, four months old and already sharing its sibling's plumbing.
A side-by-side editorial comparison of cvms and dqcheckr — release velocity, themes, recent moves, and the top alternatives to consider.
A cross-validation package whose real development has moved to its plotting function
cvms runs repeated cross-validation over model formulas and reports comparable metrics. The 2.0.0 release was a breaking correctness fix: every function accepting fold_cols mismatched training and testing data when fold indices were non-sequential, did not start at 1, or were strings, because the iteration index was compared against the raw fold value rather than its factor level index. 2.0.1 restored coefficient extraction for nnet::multinom and mixed models by supplying an environment containing the training data, and followed lme4's move of findbars() into the reformulas package.
dqcheckr adds drift analysis, then removes the YAML a user had to hand-write.
dqcheckr runs configurable data-quality checks over files and DuckDB tables, driven by YAML dataset configs and recording results as snapshots. The 0.2.0 release added the ability to compare two historical snapshots and report per-column statistical drift, schema changes and trend charts, extending the tool from point-in-time checking into change over time. The most recent tag, 0.3.0, attacks the other friction point by generating the config itself from a sniff pass over the data.
cvms runs repeated cross-validation over model formulas and reports comparable metrics. The 2.0.0 release was a breaking correctness fix: every function accepting fold_cols mismatched training and testing data when fold indices were non-sequential, did not start at 1, or were strings, because the iteration index was compared against the raw fold value rather than its factor level index. 2.0.1 restored coefficient extraction for nnet::multinom and mixed models by supplying an environment containing the training data, and followed lme4's move of findbars() into the reformulas package.
Two threads run in parallel and only one is about cross-validation. The plotting function plot_confusion_matrix() has absorbed most feature work since 1.5.0 - custom gradient palettes, intensity limits, per-tile settings, dynamic font colors keyed to value thresholds, and arguments that accept functions rather than constants - to the point where a companion web application exists for using it without code. The cross-validation core, by contrast, sees maintenance: upstream compatibility fixes for pROC, ggnewscale and ggplot2, and the fold-matching correction that finally forced a major version.
Expect continued option growth in the confusion matrix plotting surface, since that is where nearly every release since 1.5.0 has spent its changes, with core cross-validation changes arriving only as upstream packages force them.
dqcheckr runs configurable data-quality checks over files and DuckDB tables, driven by YAML dataset configs and recording results as snapshots. The 0.2.0 release added the ability to compare two historical snapshots and report per-column statistical drift, schema changes and trend charts, extending the tool from point-in-time checking into change over time. The most recent tag, 0.3.0, attacks the other friction point by generating the config itself from a sniff pass over the data.
Both moves point the same way: reduce what the operator has to write and know. Config generation removes the hand-authored YAML that gated first use, list_runs() and validate_config() make an existing setup inspectable, and the snapshot comparison turns accumulated run history into a second product surface. Check coverage keeps widening underneath — outlier detection, composite keys, row-count and file-size ceilings — and the reporting layer moved from rmarkdown to Quarto, with existing 0.1.x databases auto-migrated on first run.
Expect the generated configs and the drift reports to converge, so a sniffed config can seed thresholds from the snapshot history rather than from defaults, plus continued growth in the numbered QC check catalogue.
Other Infra & APIs 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 cvms or dqcheckr.
The machine-learning arm of a forecast reconciliation toolkit, four months old and already sharing its sibling's plumbing.
Forecast reconciliation with a real object model, five years after it started returning bare matrices.
A textbook data package whose whole job is to stay installable, and whose releases prove how much work that is.
A graph-centrality package that spent 2026 making its existing measures usable at scale, then went quiet.
A test-theory package that grew into a graphical-model toolkit, now spending its releases paying down the API debt that growth created.
nuggets keeps compounding on the 2.0 rewrite — more pattern families, lighter install.
See all cvms alternatives → · See all dqcheckr alternatives →
Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.
Both compete on the same themes — r-package — within Infra & APIs. dqcheckr is currently shipping more aggressively (velocity 2.5 vs 0.0), with 0 editorial sparks in the last 30 days against 0. See the at-a-glance table above for a side-by-side breakdown of velocity, recent sparks, and editorial themes.
Sparkpulse doesn't pick a winner — we score release velocity, not feature parity. dqcheckr is currently shipping more aggressively (velocity 2.5 vs 0.0), with 0 editorial sparks in the last 30 days against 0. For your specific use case, the alternatives sections above list other Infra & APIs products to evaluate alongside.
Top cvms alternatives in Infra & APIs are ranked by recent ship velocity. Browse the "cvms alternatives" section above for the current picks, or visit /alternatives/cvms for the full list with editorial commentary on each.
Top dqcheckr alternatives in Infra & APIs are ranked by recent ship velocity. Browse the "dqcheckr alternatives" section above for the current picks, or visit /alternatives/dqcheckr for the full list with editorial commentary on each.