← Back to home
Comparison · Analytics

bpbounds vs EpiNow2

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

Shared themes:epidemiology

bpbounds vs EpiNow2: at a glance

FeaturebpboundsEpiNow2
SectorAnalyticsAnalytics
Velocity score0.00.0
Sparks · 30d00
Top themescausal inference, instrumental variables, r, partial identificationepidemiology, bayesian-modelling, reproduction-number, r-package
Last editorial update1h ago3h ago
WebsiteVisit →Visit →

What is bpbounds?

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.

Read the full bpbounds trajectory →

What is EpiNow2?

EpiNow2 unified its model interface, then went back to deepen the estimators behind it

EpiNow2 estimates reproduction numbers, infections and delay distributions from incomplete epidemiological reporting data. 1.8.0 was the structural turning point: every main modelling function now returns a consistent S3 object with `fit`, `args` and `observations`, reachable through shared accessors. The releases either side of it work on estimator quality — accumulation of irregularly reported data in 1.7.0, and a substantial expansion of `estimate_truncation()` in 1.9.0.

Read the full EpiNow2 trajectory →

bpbounds vs EpiNow2: editorial side-by-side

B
bpbounds
ANALYTICS
0.0

bpbounds found the same swapped-cell bug twice and clamped its bounds back into range

◆ Current state

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.

◆ Where it's heading

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.

◆ Prediction

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.

E
EpiNow2
ANALYTICS
0.0

EpiNow2 unified its model interface, then went back to deepen the estimators behind it

◆ Current state

EpiNow2 estimates reproduction numbers, infections and delay distributions from incomplete epidemiological reporting data. 1.8.0 was the structural turning point: every main modelling function now returns a consistent S3 object with `fit`, `args` and `observations`, reachable through shared accessors. The releases either side of it work on estimator quality — accumulation of irregularly reported data in 1.7.0, and a substantial expansion of `estimate_truncation()` in 1.9.0.

◆ Where it's heading

The package spent this window paying down interface debt and is now extending from the tidier base. Options that existed only for `estimate_infections()` have been propagated outward: `estimate_truncation()` gained the full `dist_spec` delay families, `obs_opts()` observation model selection between Poisson and negative binomial, and the `likelihood` and `return_likelihood` settings that make prior-only fits and loo-compatible output possible. Hardcoded assumptions are being replaced by specifiable ones in the same motion — the truncation model's additive noise term was a fixed `sigma ~ normal(0, 1)` prior and is now a `dist_spec` argument.

◆ Prediction

Expect the remaining modelling functions to keep converging on the shared options interface, since the last two releases have each moved another function onto it. A new `estimate_dist()` for interval-censored linelist data suggests delay estimation is the area still gaining surface.

Alternatives to bpbounds and EpiNow2

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

See all bpbounds alternatives → · See all EpiNow2 alternatives →

Recent activity from bpbounds and EpiNow2

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

  1. 1mo agobpboundsbpbounds clamps probability bounds and fixes a constraint-matrix swap
  2. 1mo agoEpiNow2estimate_truncation gains full delay and observation options
  3. 2mo agobpboundsbpbounds fixes swapped cells in the trivariate calculation
  4. 6mo agoEpiNow2Unified return objects and shared accessors across all models
  5. 1y agoEpiNow2Patch for an upstream rstan issue
  6. 1y agoEpiNow2Accumulation for irregularly reported data; unified priors
  7. 1y agoEpiNow2Matern kernel spectral density fix and GP prior revert
  8. 1y agoEpiNow2Gaussian Process model improvements and explicit defaults
  9. 2y agobpboundsbpbounds 0.1.6
  10. 3y agobpboundsbpbounds 0.1.5
  11. 6y agobpboundsVersion 0.1.4 on CRAN
  12. 7y agobpboundsVersion 0.1.3

Frequently asked questions

What is the difference between bpbounds and EpiNow2?

Both compete on the same themes — epidemiology — within Analytics. bpbounds and EpiNow2 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 bpbounds better than EpiNow2?

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

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.

What are the best alternatives to EpiNow2?

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