← Back to home
Comparison · Infra & APIs

ggfootball vs JointFPM

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

ggfootball vs JointFPM: at a glance

FeatureggfootballJointFPM
SectorInfra & APIsInfra & APIs
Velocity score0.00.0
Sparks · 30d00
Top themessports-analytics, r-package, data-scraping, expected-goalssurvival-analysis, recurrent-events, parametric-models, api-stability
Last editorial update2h ago1h ago
WebsiteVisit →Visit →

What is ggfootball?

A football-viz package just swapped scraping for an API and broke its own output to do it.

ggfootball is a small R package for plotting expected-goals and shot data, sourced from Understat. Four releases are visible. The 0.2.x line was argument tidying and dependency pruning; 0.3.0 replaced the data-acquisition layer wholesale, moving get_match_shots() from HTML parsing onto Understat's AJAX endpoints and changing the returned column names in the process.

Read the full ggfootball trajectory →

What is JointFPM?

Recurrent-event modelling settles, with mean_no() promoted to stable.

JointFPM fits joint flexible parametric models for a recurrent event process alongside a competing terminal event, and predicts the mean number of events. The visible history runs from bug fixes on the earliest CRAN releases through standardization, integration options and a summary method, ending with mean_no() declared stable. Several changes arrived through outside pull requests.

Read the full JointFPM trajectory →

ggfootball vs JointFPM: editorial side-by-side

G
ggfootball
INFRA · APIS
0.0

A football-viz package just swapped scraping for an API and broke its own output to do it.

◆ Current state

ggfootball is a small R package for plotting expected-goals and shot data, sourced from Understat. Four releases are visible. The 0.2.x line was argument tidying and dependency pruning; 0.3.0 replaced the data-acquisition layer wholesale, moving get_match_shots() from HTML parsing onto Understat's AJAX endpoints and changing the returned column names in the process.

◆ Where it's heading

The direction is away from scraped HTML and toward a thinner, more defensible package: four dependencies dropped in 0.3.0 on top of qdapRegex in 0.2.1, input validation added, error messages rewritten. Both breaking changes so far were accepted rather than deferred, which reads as a maintainer treating pre-1.0 as the window to get the shape right. The package is willing to break callers for structural reasons, not cosmetic ones.

◆ Prediction

With the scraper rebuilt and the dependency surface trimmed, the next releases are likely to stabilise the new column names and extend the plotting side, which has seen nothing since 0.2.0. A 1.0 would be the signal that the data structure is now considered fixed.

J
JointFPM
INFRA · APIS
0.0

Recurrent-event modelling settles, with mean_no() promoted to stable.

◆ Current state

JointFPM fits joint flexible parametric models for a recurrent event process alongside a competing terminal event, and predicts the mean number of events. The visible history runs from bug fixes on the earliest CRAN releases through standardization, integration options and a summary method, ending with mean_no() declared stable. Several changes arrived through outside pull requests.

◆ Where it's heading

The arc runs from a working estimator toward a usable one: input validation and error messages first, then control over the numerical integration, then a summary method and pass-through arguments to the underlying rstpm2 fit. The latest release adds no code so much as a stability commitment to a function users were already calling.

◆ Prediction

With mean_no() stable, the next work most likely targets the prediction and standardization paths rather than the model fit itself.

Alternatives to ggfootball and JointFPM

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 ggfootball or JointFPM.

See all ggfootball alternatives → · See all JointFPM alternatives →

Recent activity from ggfootball and JointFPM

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

  1. 6mo agoggfootballggfootball 0.3.0
  2. 6mo agoggfootballggfootball 0.2.2
  3. 1y agoJointFPMmean_no() promoted to a stable interface
  4. 1y agoggfootballggfootball 0.2.1
  5. 1y agoggfootballggfootball 0.2.0
  6. 2y agoJointFPMsummary() method and control arguments passed to rstpm2
  7. 2y agoJointFPMGaussian quadrature option for the mean-events integration
  8. 2y agoJointFPMStandardized marginal estimates plus input validation
  9. 2y agoJointFPMBug fixes for differences between mean-event functions

Frequently asked questions

What is the difference between ggfootball and JointFPM?

They serve adjacent needs but don't currently overlap on shipped themes. ggfootball and JointFPM 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 ggfootball better than JointFPM?

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

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

What are the best alternatives to JointFPM?

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