← Back to all sparks
F

fabletools

ANALYTICS
Velocity0.0

General fable features useful for extension packages

The tidyverts forecasting core rebuilt model combination on full residual covariance.

forecastingtidyvertsmodel-combinationreconciliationtime-seriesr-package
Current state
fabletools is the framework layer under fable and fpp3 — mables, fables, accuracy measures, reconciliation, and the model arithmetic that lets forecasters express ensembles as expressions. Version 0.8.0 reworked that arithmetic: combination now uses a joint N-way convolution accounting for the full residual covariance across components rather than composing pairwise, and every arithmetic operator collapses to a single model_combination with correctly implied weights, so nested expressions like ((m1 + m2)/2 + m3)/2 flatten automatically. In parallel, the package has been shedding graphics to {ggtime} on a deliberately slow deprecation clock.
Where it's heading
The framework is being narrowed and deepened at the same time. Narrowed, because plotting is moving out to a dedicated package over an announced two-year deprecation, leaving fabletools to modeling infrastructure. Deepened, because the recent statistical work targets correctness in places users could not easily inspect — combination weights, inverse-variance weighting computed on response rather than innovation residuals, reconciliation coherency matrices exposed via coherent_smat() and coherent_cmat(). Class hygiene follows the same instinct, with mdl_lst replacing lst_mdl and gaining augment(), glance(), and tidy() so global and reconciliation models report statistics like any other.
Prediction
With combination and reconciliation infrastructure freshly reworked, the remaining announced work is the ggtime separation, so expect the graphics re-exports to keep degrading toward removal while modeling changes stay incremental.

Recent moves

  1. 1mo ago

    Model combination rebuilt on joint N-way convolution

    ⚡ SPARK

    Combination forecasts stop being composed pairwise and are computed as a joint N-way convolution over the full residual covariance structure, with all arithmetic operators producing one model_combination carrying correctly implied weights. Ensembles built the same way as before now return different — and better justified — distributions.

    View source ↗
  2. 3mo ago

    Coherency matrices exposed, mdl_lst gains tidier methods

    Adds coherent_smat() and coherent_cmat() for the structural and zero-constraint matrices encoding hierarchical coherency, making reconciliation structure inspectable rather than internal. The mdl_lst class supersedes lst_mdl and gains augment(), glance(), and tidy() so global and reconciliation models report the same statistics as ordinary ones.

    View source ↗
  3. 5mo ago

    Graphics methods now require fabletools to be attached

    A breaking patch advancing the ggtime migration: autoplot() and autolayer() methods need fabletools attached, not merely loaded. Code using library(fabletools), fable, or fpp3 keeps working, so the break lands on packages that only imported it.

    View source ↗
  4. 6mo ago

    Time series graphics migrating out to ggtime

    Begins moving plotting functionality to the {ggtime} package, re-exporting the common helpers with soft deprecation messages over a deprecation window the maintainers put at roughly two years. A deliberate narrowing of the framework's scope, telegraphed far in advance rather than broken.

    View source ↗
  5. 8mo ago

    ggplot2 4.0.0 compatibility patch

    A compatibility release for ggplot2 4.0.0, plus fixes to the forecast draw key for single-point multiple-forecast ribbons and to accuracy() when not all key variables were named in by. Published minutes after 0.5.0.

    View source ↗
  6. 8mo ago

    IRF() generic and multivariate bootstrap sample paths

    Adds the IRF() generic with mable methods for impulse response functions, and enables generate() to produce bootstrap sample paths for multivariate models. Forecast plots switch to marginal distributions when drawing intervals from multivariate distributions, and progress reporting becomes available via progressr.

    View source ↗