← Back to home
Comparison · Infra & APIs

ggdist vs profoc

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

Shared themes:r-package

ggdist vs profoc: at a glance

Featureggdistprofoc
SectorInfra & APIsInfra & APIs
Velocity score0.00.0
Sparks · 30d00
Top themesdata-visualization, uncertainty, bayesian-statistics, ggplot2forecasting, online-learning, r-package, rcpp
Last editorial update29m ago1h ago
WebsiteVisit →Visit →

What is ggdist?

The grammar of uncertainty visualization, now drawing the uncertainty in its own estimates.

ggdist supplies ggplot2 with a compositional vocabulary for distributions — slabs, intervals, dotplots and the sub-geometries that combine them. The last three years moved it from a drawing library to an estimation library: bounded density estimation with Sheather-Jones bandwidth became the default, weights propagate through every density, interval and point summary, and blurred dotplots render Monte Carlo standard error as visual fuzz. The 2025 release rounds this out with per-geometry thickness subscales and settable global defaults.

Read the full ggdist trajectory →

What is profoc?

A forecast combination package that spun its profiler out into its own project

profoc combines probabilistic forecasts online, using the Bernstein online aggregation family with B-spline smoothing over quantiles and time. The recent releases are infrastructure rather than method: 1.3.4 removed a using namespace arma directive for CRAN compliance and closed a timer edge case, 1.3.3 adjusted the integration with rcpptimer against its now-stable 1.2.0 API. The last release to change what users can do was 1.3.0, which exposed the conline C++ class to R and exported init_experts_list(), make_basis_mats(), make_hat_mats() and post_process_model() so the engine can be driven directly.

Read the full profoc trajectory →

ggdist vs profoc: editorial side-by-side

G
ggdist
INFRA · APIS
0.0

The grammar of uncertainty visualization, now drawing the uncertainty in its own estimates.

◆ Current state

ggdist supplies ggplot2 with a compositional vocabulary for distributions — slabs, intervals, dotplots and the sub-geometries that combine them. The last three years moved it from a drawing library to an estimation library: bounded density estimation with Sheather-Jones bandwidth became the default, weights propagate through every density, interval and point summary, and blurred dotplots render Monte Carlo standard error as visual fuzz. The 2025 release rounds this out with per-geometry thickness subscales and settable global defaults.

◆ Where it's heading

Two threads run in parallel and keep converging. One is statistical: pluggable density estimators arrived first, then became the default, then gained weights and quantile histograms. The other is compositional: sub-geometries acquired their own guides, then their own scales, so a slab's thickness axis is now a first-class annotated dimension. Cadence has stretched from twice-yearly to roughly annual, with the recent work tightening existing surface rather than opening new.

◆ Prediction

Subguides gained subscales a release later, so the remaining asymmetry is in the sub-geometry system rather than the statistics; expect the next release to continue that fill-in work.

P
profoc
INFRA · APIS
0.0

A forecast combination package that spun its profiler out into its own project

◆ Current state

profoc combines probabilistic forecasts online, using the Bernstein online aggregation family with B-spline smoothing over quantiles and time. The recent releases are infrastructure rather than method: 1.3.4 removed a using namespace arma directive for CRAN compliance and closed a timer edge case, 1.3.3 adjusted the integration with rcpptimer against its now-stable 1.2.0 API. The last release to change what users can do was 1.3.0, which exposed the conline C++ class to R and exported init_experts_list(), make_basis_mats(), make_hat_mats() and post_process_model() so the engine can be driven directly.

◆ Where it's heading

The direction is toward a reusable C++ core with thin language bindings. The timing code that lived inside profoc was extracted into the standalone rcpptimer package in 1.3.2, deliberately so other R packages and Python projects could use it through cpptimer and cppytimer, and the clock header was reworked in 1.3.1 to maximise the code shared between the R and Python versions. Method work sits earlier in the history - periodic splines and penalties in 1.2.0, the penalty() function in 1.1.0 - while the recent cadence, a single release in the last sixteen months, points at a package the maintainer considers finished.

◆ Prediction

The repeated references to future Python use suggest the next significant work happens outside this package, in the shared C++ components, rather than in profoc's R surface.

Alternatives to ggdist and profoc

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 ggdist or profoc.

See all ggdist alternatives → · See all profoc alternatives →

Recent activity from ggdist and profoc

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

  1. 6mo agoprofocCRAN compliance fix removing a namespace directive
  2. 1y agoggdistPer-geometry thickness subscales and settable defaults
  3. 1y agoprofocTimer integration updated to the stable rcpptimer API
  4. 2y agoprofocTiming code extracted into the standalone rcpptimer package
  5. 2y agoggdistBlurred dotplots draw Monte Carlo error; weights reach every estimator
  6. 2y agoprofocInteger overflow fix and Welford timing statistics
  7. 2y agoprofocThe conline C++ class opens up to R users
  8. 2y agoggdistC++ dotplot binning and safer bandwidth fallbacks
  9. 2y agoprofocQuantile crossing flagged and tidy methods added
  10. 3y agoggdistBounded density becomes the default; existing charts change
  11. 3y agoggdistCategorical distributions, hex layouts, pluggable density estimators
  12. 4y agoggdistComputed variables shared across sub-geometries

Frequently asked questions

What is the difference between ggdist and profoc?

Both compete on the same themes — r-package — within Infra & APIs. ggdist and profoc 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 ggdist better than profoc?

Sparkpulse doesn't pick a winner — we score release velocity, not feature parity. ggdist and profoc 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 Infra & APIs products to evaluate alongside.

What are the best alternatives to ggdist?

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

What are the best alternatives to profoc?

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