← Back to home
Comparison · Analytics

dfms vs nanoparquet

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

Shared themes:interoperability

dfms vs nanoparquet: at a glance

Featuredfmsnanoparquet
SectorAnalyticsAnalytics
Velocity score0.00.0
Sparks · 30d00
Top themesnowcasting, state-space-models, econometrics, ropensciparquet, r-language, interoperability, data-formats
Last editorial update2h ago45m ago
WebsiteVisit →Visit →

What is dfms?

Peer-reviewed, feature-complete, and now able to hand its models to other forecasting engines.

dfms estimates dynamic factor models in R, the workhorse for nowcasting economic activity from ragged, mixed-frequency data. The package worked through the Banbura and Modugno (2014) specification in stages — quarterly variables in 0.3.0, AR(1) idiosyncratic errors combined with mixed frequency in 0.4.0 — then declared 1.0.0 feature-complete on completing rOpenSci peer review, adding news decomposition to attribute forecast revisions to specific data releases. Version 1.0.1 adds convert(), which exports fitted models to dlm or KFAS state-space objects.

Read the full dfms trajectory →

What is nanoparquet?

nanoparquet is chasing byte-level agreement with the Java and Rust Parquet readers, not feature count.

nanoparquet reads and writes Parquet from R with no Arrow dependency, which is its entire reason to exist. The 0.4.0 line renamed the reader API and added schema authoring plus `append_parquet()`, and the 0.5.x releases have gone after interoperability: definition and repetition level encodings the Apache Parquet Java library expects, flatbuffer alignment the Rust arrow-rs reader expects, 128-bit decimals, and Polars-written files that omit the dictionary page offset. The newest release adds `bit64::integer64` columns and writing to stdout.

Read the full nanoparquet trajectory →

dfms vs nanoparquet: editorial side-by-side

D
dfms
ANALYTICS
0.0

Peer-reviewed, feature-complete, and now able to hand its models to other forecasting engines.

◆ Current state

dfms estimates dynamic factor models in R, the workhorse for nowcasting economic activity from ragged, mixed-frequency data. The package worked through the Banbura and Modugno (2014) specification in stages — quarterly variables in 0.3.0, AR(1) idiosyncratic errors combined with mixed frequency in 0.4.0 — then declared 1.0.0 feature-complete on completing rOpenSci peer review, adding news decomposition to attribute forecast revisions to specific data releases. Version 1.0.1 adds convert(), which exports fitted models to dlm or KFAS state-space objects.

◆ Where it's heading

The package has finished the implementation programme it set out in its 2023 vignette and is now working on the edges: interoperability with other state-space packages rather than more estimation methods of its own. The convert() function is the clearest signal — instead of implementing smoothing and prediction intervals natively, it hands the model to packages that already have them. The rOpenSci move also puts it on a review-backed, documented footing that research users can cite.

◆ Prediction

Expect continued interoperability and diagnostic work rather than new estimators, since the maintainer has explicitly scoped the package as complete. Bug fixes against RcppArmadillo releases will likely remain the other recurring driver.

N
nanoparquet
ANALYTICS
0.0

nanoparquet is chasing byte-level agreement with the Java and Rust Parquet readers, not feature count.

◆ Current state

nanoparquet reads and writes Parquet from R with no Arrow dependency, which is its entire reason to exist. The 0.4.0 line renamed the reader API and added schema authoring plus `append_parquet()`, and the 0.5.x releases have gone after interoperability: definition and repetition level encodings the Apache Parquet Java library expects, flatbuffer alignment the Rust arrow-rs reader expects, 128-bit decimals, and Polars-written files that omit the dictionary page offset. The newest release adds `bit64::integer64` columns and writing to stdout.

◆ Where it's heading

Almost every entry since 0.4.0 names another engine — Java, arrow-rs, Polars, Arrow schema metadata — which tells you the maintainers are treating cross-reader fidelity as the product rather than R-side ergonomics. The type system is filling in from the edges: DECIMAL beyond 8 bytes, UUID, FLOAT16 and INTERVAL as raw lists, and now 64-bit integers with an explicit read-type option instead of a silent cast to double. Writing to `:stdout:` points at a second audience, shell pipelines rather than interactive R.

◆ Prediction

The remaining unmapped Parquet types the changelog has been parking in raw-vector lists — FLOAT16 and INTERVAL — are the obvious next targets, following the same pattern by which DECIMAL and UUID graduated to real R types.

Alternatives to dfms and nanoparquet

Other Analytics 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 dfms or nanoparquet.

See all dfms alternatives → · See all nanoparquet alternatives →

Recent activity from dfms and nanoparquet

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

  1. 1mo agodfmsconvert() exports models to dlm and KFAS state-space objects
  2. 3mo agonanoparquet64-bit integer columns and writing Parquet to stdout
  3. 4mo agonanoparquetFiles now readable by the Java and Rust Parquet libraries
  4. 6mo agodfms1.0: rOpenSci review passed, news decomposition added
  5. 6mo agodfmsMixed-frequency estimation gains AR(1) idiosyncratic errors
  6. 9mo agodfmsC++ compatibility with RcppArmadillo 15.0.2
  7. 1y agodfmsFixes estimation with a single quarterly variable
  8. 1y agodfmsAdds mixed-frequency estimation via quarterly.vars
  9. 1y agonanoparquetReads Polars files that omit the dictionary page offset
  10. 1y agonanoparquetDate, FLOAT, and mixed-encoding read fixes
  11. 1y agonanoparquetSchema authoring and append_parquet arrive with a renamed API
  12. 1y agonanoparquetFixes a write_parquet crash

Frequently asked questions

What is the difference between dfms and nanoparquet?

Both compete on the same themes — interoperability — within Analytics. dfms and nanoparquet 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 dfms better than nanoparquet?

Sparkpulse doesn't pick a winner — we score release velocity, not feature parity. dfms and nanoparquet 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 Analytics products to evaluate alongside.

What are the best alternatives to dfms?

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

What are the best alternatives to nanoparquet?

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