← Back to home
Comparison · Infra & APIs

ggfootball vs trackeR

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

Shared themes:visualization

ggfootball vs trackeR: at a glance

FeatureggfootballtrackeR
SectorInfra & APIsInfra & APIs
Velocity score0.00.0
Sparks · 30d00
Top themessports-analytics, r-package, data-scraping, expected-goalsfitness-tracking, gps-data, file-parsing, visualization
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 trackeR?

Fitness-tracking analysis in slow maintenance, still absorbing upstream breakage.

trackeR reads GPS and fitness-tracker files in TCX, GPX and JSON form and turns them into session data, distribution and concentration profiles, and route plots. Feature work concentrated in the 1.5 series in 2019; the two releases since are corrective. The latest swaps the plot layout dependencies for patchwork and fixes plot_route() returning nothing.

Read the full trackeR trajectory →

ggfootball vs trackeR: 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.

T
trackeR
INFRA · APIS
0.0

Fitness-tracking analysis in slow maintenance, still absorbing upstream breakage.

◆ Current state

trackeR reads GPS and fitness-tracker files in TCX, GPX and JSON form and turns them into session data, distribution and concentration profiles, and route plots. Feature work concentrated in the 1.5 series in 2019; the two releases since are corrective. The latest swaps the plot layout dependencies for patchwork and fixes plot_route() returning nothing.

◆ Where it's heading

Recent releases track other people's changes: ggmap moving to Stadia maps, gridExtra giving way to patchwork, a cadence field being read into the wrong column. The 2019 entries are where the analysis surface was built out, with cumulative elevation gain, compressed file reading and elevation-noise thresholds, and it has not moved much since.

◆ Prediction

Expect the next release to be another compatibility or parsing fix rather than a new metric.

Alternatives to ggfootball and trackeR

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

See all ggfootball alternatives → · See all trackeR alternatives →

Recent activity from ggfootball and trackeR

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

  1. 6mo agoggfootballggfootball 0.3.0
  2. 6mo agoggfootballggfootball 0.2.2
  3. 11mo agotrackeRplot_route() fixed; plot layout moved to patchwork
  4. 1y agoggfootballggfootball 0.2.1
  5. 1y agoggfootballggfootball 0.2.0
  6. 2y agotrackeRTCX cadence bug fixed; m_per_min units and Stadia maps
  7. 7y agotrackeRCompressed file reading and correct GPX power extraction
  8. 7y agotrackeRvertical_noise threshold for elevation gain
  9. 7y agotrackeRCumulative elevation gain added as a derived metric
  10. 7y agotrackeRFortify and print bugs fixed in summary objects

Frequently asked questions

What is the difference between ggfootball and trackeR?

Both compete on the same themes — visualization — within Infra & APIs. ggfootball and trackeR 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 trackeR?

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

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