RESERVE v1.1.8: Making Analysis Coherent

One of the recurring themes in RESERVE development has been that retrieving economic data is only the first step in the workflow.

Most users don’t stop after fetching a series from FRED®. They want to understand it. Is unemployment rising or falling? How closely does it move with interest rates? Has the behavior of a series changed over time? Are recent observations behaving differently than historical ones?

Previous releases gradually introduced analytical capabilities to help answer those questions. Summary statistics, trend analysis, transformations, and pipelines all expanded the platform beyond simple data retrieval. As those capabilities grew, however, it became increasingly clear that analysis needed to feel like a unified part of RESERVE rather than a collection of separate features.

Version 1.1.8 is largely about addressing that.

The release introduces new comparison and regime-analysis capabilities, adds rolling-window summaries and confidence reporting, and makes analysis output more consistent across the platform. Whether you’re summarizing a series, fitting a trend, comparing indicators, or looking for structural changes, the commands now work together more naturally and present results in a more consistent way.

Comparing Economic Indicators

Economic analysis is fundamentally comparative.

Inflation is interpreted relative to interest rates. Employment is evaluated alongside labor force participation. Market indicators are compared against policy measures. Very few economic series are meaningful in complete isolation.

Version 1.1.8 introduces analyze compare, a new command designed specifically for aligned-series analysis.

For example, comparing unemployment against the federal funds rate since 2010 can be performed with a single pipeline:

reserve obs get UNRATE FEDFUNDS --start 2010-01-01 --format jsonl | reserve analyze compare --against FEDFUNDS

+----------------+----------+
| METRIC         | VALUE    |
+----------------+----------+
| Series         | UNRATE   |
| Against        | FEDFUNDS |
| Aligned Obs    | 196      |
| Correlation    | -0.5884  |
| Beta           | -0.7063  |
| Delta Mean     | 4.2147   |
| Delta Last     | 0.6700   |
| Tracking Error | 3.5720   |
+----------------+----------+

Sources by series:
- UNRATE: Bureau of Labor Statistics via FRED
- FEDFUNDS: Board of Governors via FRED

Even this simple example reveals useful information immediately. The negative correlation reflects the tendency for unemployment and policy rates to move in opposite directions over long periods, while beta and tracking-error metrics provide additional context about the strength and consistency of that relationship.

Comparison results now retain the source information associated with each series. In the example above, the output identifies both the Bureau of Labor Statistics and the Federal Reserve as the underlying data providers. That information now flows consistently through analysis commands and output formats, making it easier to understand where analytical results originated.

Trend Analysis With Additional Context

Trend analysis has been part of RESERVE for several releases, but v1.1.8 expands the information available alongside trend estimates.

A trend can tell you whether a series is moving up or down, but that is only part of the story. Understanding how reliable that estimate may be is often just as important as the estimate itself.

The new --confidence option adds statistical measures that help put trend results into context, including standard errors, p-values, and confidence intervals.

For example:

 reserve obs get FEDFUNDS --start 2015-01-01 --format jsonl | reserve analyze trend --method linear --confidence
+----------------------+----------+
| METRIC               | VALUE    |
+----------------------+----------+
| Context              | -        |
| Series               | FEDFUNDS |
| Method               | linear   |
| Trend                | -        |
| Direction            | up       |
| Slope / Day          | 0.001174 |
| Slope / Year         | 0.4287   |
| Fit                  | -        |
| Intercept            | -0.3653  |
| R2                   | 0.5520   |
| Confidence           | -        |
| Slope StdErr         | 0.000091 |
| Slope P-Value        | 0.000000 |
| Slope CI95 Low       | 0.000995 |
| Slope CI95 High      | 0.001352 |
| Slope/Year CI95 Low  | 0.3635   |
| Slope/Year CI95 High | 0.4938   |
+----------------------+----------+

Source: Board of Governors via FRED

In this case, the analysis identifies a positive trend in the federal funds rate over the period while also reporting measures of uncertainty around that estimate. Rather than presenting a slope alone, RESERVE can now show the supporting statistics used to evaluate the strength and reliability of the result.

This additional context is especially useful when comparing trend estimates across multiple series or evaluating whether an apparent trend is likely to be meaningful rather than simply noise in the data.

Consistency Across Analysis

Many of the improvements in v1.1.8 are less visible than the new commands themselves.

Summary, trend, compare, and regime outputs now share a common table layout and presentation style. Numeric formatting has been standardized to improve readability while JSON and JSONL outputs remain optimized for automation and downstream processing.

The same formatting conventions now extend across observation retrieval, transformation workflows, and analysis commands. The goal is simple: users should spend less time adapting to different output formats and more time focusing on the data.

Version 1.1.8 also introduces rolling-window summaries through analyze summary --window N, allowing users to evaluate trailing periods instead of treating an entire series as a single historical block. Combined with the new comparison and trend enhancements, this creates a more complete analytical toolkit within the existing pipeline architecture.

Keeping Sources Attached to Results

One smaller but important improvement in v1.1.8 is that analysis output now handles source information more consistently.

In the comparison example above, RESERVE reports not only the analytical results but also the organizations responsible for the underlying data:

Sources by series:
- UNRATE: Bureau of Labor Statistics via FRED
- FEDFUNDS: Board of Governors via FRED

One of the goals of v1.1.8 was greater consistency across analytical workflows. Source information attached to data retrieval now remains attached as that data moves through analysis commands, helping ensure that results stay connected to the underlying series and organizations that produced them.

This is a relatively small change, but it becomes increasingly valuable as workflows grow more complex. The more transformations and analyses that occur between data retrieval and interpretation, the more important it becomes to keep the connection to the original data source visible.

Reliability Behind the Scenes

Version 1.1.8 also includes a number of infrastructure improvements that most users will never notice directly.

Live FRED traffic is now paced more conservatively, retry behavior better respects server guidance, and rate-limit handling has been refined to behave more predictably under constrained conditions. Testing infrastructure has likewise been updated to distinguish more effectively between live and offline environments.

These changes may not appear in screenshots, but they contribute to something equally important: confidence that analytical workflows behave consistently over time.

From Data Retrieval to Data Interpretation

The broader theme of v1.1.8 is analytical maturity.

RESERVE began as a way to make economic data easier to access. Over time it expanded into transformations, pipelines, caching, visualization, and reusable workflows. This release focuses on strengthening the next layer of that stack: helping users interpret the data they retrieve.

Comparison analysis, rolling summaries, confidence-aware trend reporting, provenance preservation, and experimental regime detection all support that objective.

The individual features matter, but the larger change is that analysis now feels increasingly like a coherent part of the platform rather than a collection of independent tools.

That’s an important step forward for RESERVE, and it lays the groundwork for future analytical capabilities still to come.