RJDProcessor: a rjdverse-based library for seasonal adjustment in official statistics production
Conference
65th ISI World Statistics Congress 2025
Format: CPS Abstract - WSC 2025
Keywords: officialstatistics, seasonal_adjustment, timeseries
Session: CPS 49 - Seasonal Adjustment and Time Series Analysis for Official Statistics
Monday 6 October 5:10 p.m. - 6:10 p.m. (Europe/Amsterdam)
Abstract
JDemetra+ is the officially recommended seasonal adjustment software for scholars and practitioners affiliated with the European Central Bank and Statistical System. It is composed of many tools: a graphical user interface (GUI) that can be used together with a cruncher for mass production and R libraries, organized in an ecosystem called rjdverse.
To integrate the GUI into the production flow of official statistics organizations, plugins based on Java, the core language of JDemetra+, are necessary. Plugins should manage tasks such as data retrieval from input sources (usually databases), binding data and models, checking for revisions in case of changes to model specifications, storing results and new specifications, and other tasks according to the needs of organizations and users.
On the other hand, rjdverse is a collection of R libraries that allows methodologists, who are generally statisticians with limited background in Java programming, to perform seasonal adjustment in an environment (the R ecosystem) which also provides tools for data and specifications handling and storing. Finally yet importantly, R makes it easier to create custom reports.
Even though rjdverse offers all the libraries needed to perform seasonal adjustment, there is still a usability gap compared to the GUI. In a production environment where multiple time series need to be treated together, rjdverse functions require hardcoding new model specifications and refreshing the data one series at a time. The same issue arises when users need specific reports that differ from the standard ones.
Another crucial aspect, both for the GUI and rjdverse, is the management of model specifications. Currently, data and specifications are stored together in a structure called workspace, a collection of verbose XML files organized hierarchically in filesystem directories. This structure does not perfectly meet the needs of some organizations that may wish to treat model specifications as data, similar to how they handle time series. Treating specifications as independent objects that can be dynamically associated with their respective data would facilitate model comparison, revision checking, and simplify their storage and retrieval in production databases.
In response to these needs, the RJDProcessor library offers the possibility to define and command the overall process of seasonal adjustment (acquisition, processing, storage, and automation) and not only the seasonal adjustment of the data. RJDProcessor integrates the packages of the rjdverse into a fully R-based production pipeline, ready to be used but also easily extendable by methodologists.
RJDProcessor's modular organization, with a clear division of responsibilities, makes the software easy to maintain and extend. Its object-based architecture allows users to adapt it to their production lines, either by writing custom DataReaders that respect the suggested interface or by using the predefined ones.
Model specifications are represented through clearly readable JSON objects and can be dynamically linked with data. Processing of multiple time series is possible by storing their specifications in JSON files, and interoperability with other JDemetra+ software is guaranteed.
Figures/Tables
1_RJDProcessor_building_blocks
2_RJDProcessor stack
3_Data Readers
4_Interoperability