exametrika
A test-theory package that grew into a graphical-model toolkit, now spending its releases paying down the API debt that growth created.
A side-by-side editorial comparison of lifecontingencies and simDAG — release velocity, themes, recent moves, and the top alternatives to consider.
An actuarial mainstay spends its releases on CI plumbing, not on new mathematics.
lifecontingencies is a long-running R package for actuarial life-contingency mathematics. Its three most recent tags show a maintainer keeping the infrastructure alive rather than extending the library: 1.5.2 is entirely author-metadata corrections, CI workflow repairs and release automation, 1.4.4 moved presentValue() onto Rcpp, and 1.4.1 states outright that it is identical to the version before it. The 1.5.2 notes jump from 1.4.4, so whatever happened in between never reached this feed.
simDAG grew a second simulation engine, then spent two releases surviving upstream breakage.
simDAG generates data from directed acyclic graphs, with a library of node types covering Gaussian, binomial, Poisson, negative binomial, zero-inflated, ordered regression, Cox, and Aalen models. The 1.0.0 milestone opened node_cox() to arbitrary baseline hazard functions, which lets continuous time-dependent hazards drive discrete-event simulations. The two most recent releases exist only to keep the package on CRAN through breakage in lme4 and simr.
lifecontingencies is a long-running R package for actuarial life-contingency mathematics. Its three most recent tags show a maintainer keeping the infrastructure alive rather than extending the library: 1.5.2 is entirely author-metadata corrections, CI workflow repairs and release automation, 1.4.4 moved presentValue() onto Rcpp, and 1.4.1 states outright that it is identical to the version before it. The 1.5.2 notes jump from 1.4.4, so whatever happened in between never reached this feed.
The one genuine engineering thread is performance: rewriting presentValue() in Rcpp targets the innermost loop of every annuity and insurance valuation the package performs. Everything since has been about keeping CRAN checks green across platforms — TinyTeX install order, cross-platform caching, automated release tagging — plus a set of Italian actuarial benchmark tests that pin results against published tables. That is maintenance discipline on a stable API, not expansion.
Expect further patch tags carrying CI and documentation work, with any Rcpp performance work extending from presentValue() into adjacent valuation functions if it continues at all.
simDAG generates data from directed acyclic graphs, with a library of node types covering Gaussian, binomial, Poisson, negative binomial, zero-inflated, ordered regression, Cox, and Aalen models. The 1.0.0 milestone opened node_cox() to arbitrary baseline hazard functions, which lets continuous time-dependent hazards drive discrete-event simulations. The two most recent releases exist only to keep the package on CRAN through breakage in lme4 and simr.
The package has been widening what a simulation can represent rather than deepening any one node. Networks arrived in 0.4.0 so individuals could depend on each other, discrete-event simulation in continuous time arrived in 0.5.0 as an alternative to the discrete-time engine, and 1.0.0 connected the two by letting continuous hazards feed the event-driven path. Alongside that, node types keep accumulating for outcome families the framework could not previously generate.
Expect the node library to keep expanding into outcome types the discrete-event engine can now support, though the recent releases suggest upstream dependency churn will keep consuming release slots.
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 lifecontingencies or simDAG.
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.
projoint spent a year on CRAN paperwork, then shipped a correctness fix it flagged itself.
eratosthenes spends 0.1.0 hardening inputs rather than adding chronology methods.
dqcheckr adds drift analysis, then removes the YAML a user had to hand-write.
EDAForge is a data-quality auditor renamed mid-flight, still finding its CRAN footing.
See all lifecontingencies alternatives → · See all simDAG alternatives →
Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.
Both compete on the same themes — r-package — within Infra & APIs. lifecontingencies and simDAG are shipping at a similar cadence (velocity 2.5 vs 2.5, 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. lifecontingencies and simDAG are shipping at a similar cadence (velocity 2.5 vs 2.5, both within Sparkpulse's "active" band). For your specific use case, the alternatives sections above list other Infra & APIs products to evaluate alongside.
Top lifecontingencies alternatives in Infra & APIs are ranked by recent ship velocity. Browse the "lifecontingencies alternatives" section above for the current picks, or visit /alternatives/lifecontingencies for the full list with editorial commentary on each.
Top simDAG alternatives in Infra & APIs are ranked by recent ship velocity. Browse the "simDAG alternatives" section above for the current picks, or visit /alternatives/simdag for the full list with editorial commentary on each.