OHPL
A 2017 chemometrics method frozen in place, visited only when CRAN changes its documentation rules.
A side-by-side editorial comparison of bpbounds and kernelshap — release velocity, themes, recent moves, and the top alternatives to consider.
bpbounds found the same swapped-cell bug twice and clamped its bounds back into range
bpbounds computes nonparametric Balke-Pearl bounds on the average causal effect from instrumental variable data, in the bivariate and trivariate cases. After years of pure packaging maintenance, the two 2026 releases are analytical corrections. Bounds on intervention probabilities are now clamped to [0, 1] so derived causal risk ratio bounds cannot fall outside their feasible range, and a cell-ordering error in the trivariate three-category instrument path has been repaired.
kernelshap makes permutation SHAP practical past eight features, then fixes the kernel weights it had wrong.
kernelshap computes model-agnostic SHAP values in R through Kernel SHAP, permutation SHAP and an exact additive explainer. Version 0.8.0 added a sampling permutation-SHAP algorithm with standard errors and early stopping, lifting the practical feature ceiling past what the exact method allows. Version 0.9.0 then corrected a bug in how kernel weights were computed — exact Kernel SHAP now agrees with exact permutation SHAP — and moved parallelism from foreach to doFuture.
bpbounds computes nonparametric Balke-Pearl bounds on the average causal effect from instrumental variable data, in the bivariate and trivariate cases. After years of pure packaging maintenance, the two 2026 releases are analytical corrections. Bounds on intervention probabilities are now clamped to [0, 1] so derived causal risk ratio bounds cannot fall outside their feasible range, and a cell-ordering error in the trivariate three-category instrument path has been repaired.
The direction is toward agreement with the reference Stata implementation and away from silently wrong output. The clamping change is described as matching the same fix in the Stata package, which suggests the two implementations are being reconciled rather than developed independently. The cell-ordering defect is the more instructive one: it was fixed in the calculation function in 0.1.7 and then again in the constraint matrix in 0.1.8, meaning the same x=0,y=1 / x=1,y=0 swap had been written in two places.
Since the recent fixes came from an external contributor's report and both touched the trivariate three-category path, the untested corners of that path are where further corrections would surface — but the release notes give no roadmap beyond parity with the Stata package.
kernelshap computes model-agnostic SHAP values in R through Kernel SHAP, permutation SHAP and an exact additive explainer. Version 0.8.0 added a sampling permutation-SHAP algorithm with standard errors and early stopping, lifting the practical feature ceiling past what the exact method allows. Version 0.9.0 then corrected a bug in how kernel weights were computed — exact Kernel SHAP now agrees with exact permutation SHAP — and moved parallelism from foreach to doFuture.
Two concerns drive this package: making exact methods reach further, and being demonstrably right. The first shows in the additive explainer, the optional background dataset and the sampling permutation algorithm; the second in unit tests written against Python's shap, credited fixes from outside contributors, and a willingness to ship a correctness fix that changes numbers people have already published. Speed work runs continuously underneath — direct solves replacing the Moore-Penrose pseudo-inverse, roughly 10% less memory.
The 0.6.0 and 0.7.0 notes each promised a stable 1.0.0 that has not arrived; with the weighting bug fixed and parallelism reworked, a 1.0 release is the most plausible next step.
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 bpbounds or kernelshap.
A 2017 chemometrics method frozen in place, visited only when CRAN changes its documentation rules.
A fast dplyr stand-in that keeps finding new places to skip work entirely.
Belgium's invasive-species indicator toolkit is in steady refinement, one plotting edge case at a time.
The ICES stock assessment client took upload away in 2024 and spent two years giving it back.
A discrete global grid generator grew cell traversal and became a usable spatial index.
Community ecology's standard toolkit is retiring the functions a generation of scripts was built on.
See all bpbounds alternatives → · See all kernelshap alternatives →
Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.
They serve adjacent needs but don't currently overlap on shipped themes. bpbounds and kernelshap 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.
Sparkpulse doesn't pick a winner — we score release velocity, not feature parity. bpbounds and kernelshap 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.
Top bpbounds alternatives in Analytics are ranked by recent ship velocity. Browse the "bpbounds alternatives" section above for the current picks, or visit /alternatives/bpbounds for the full list with editorial commentary on each.
Top kernelshap alternatives in Analytics are ranked by recent ship velocity. Browse the "kernelshap alternatives" section above for the current picks, or visit /alternatives/kernelshap for the full list with editorial commentary on each.