FRED and BLS API Time-Series Plotting
Economic plotting is mostly a data-contract problem: series IDs, frequencies, units, revisions, and comparable scales.
Site connection
The Economic Series Plotter fetches FRED and BLS data and turns it into consistently formatted charts for FED Challenge analysis.
Visual model
Raw scale vs indexed comparison
Toggle indexed and raw scale views to see why economic series often need normalization before comparison.
Interactive
Normalization lets unlike economic series share a visual frame
The Plot Is the Last Step
A clean economic chart starts before Matplotlib or Seaborn. The important choices are what series means, how often it is sampled, what units it uses, whether values are seasonally adjusted, and whether the latest observation is preliminary or revised.
FRED vs BLS
FRED is a broad economic database that aggregates many sources and exposes series through a web API. BLS publishes labor, price, productivity, wage, and employment data through its own public API.
A plotting tool that supports both needs an internal normalized shape: date, value, source, series ID, units, title, frequency, and notes.
The Comparison Trap
Putting CPI, unemployment, and an interest rate on one y-axis is usually not meaningful. Indexing each series to a base date can reveal relative movement, while separate axes or panels preserve units.
For policy analysis, the transformation must be explicit because a visual slope can change depending on whether the chart uses levels, percentage changes, or indexed values.
| Transformation | Use when |
|---|---|
| Raw level | Units are directly meaningful |
| Indexed to 100 | Comparing relative movement across unlike units |
| Percent change | Studying growth rates or inflation |
| Rolling average | Reducing high-frequency noise |
| Year-over-year change | Handling seasonality in monthly data |
Common Pitfalls
- Mixing seasonally adjusted and non-adjusted series.
- Plotting unlike units on one axis without indexing.
- Ignoring revisions or vintage data.
- Treating missing months as zero.
- Using chart style consistency to hide incompatible definitions.
Quick check
Quiz
Why index two economic series to 100?
- To compare relative movement despite unlike units
- To delete all missing values
- To make API keys unnecessary
- To turn monthly data into annual data
Indexing makes relative change comparable when raw units differ.
What should every fetched economic series retain?
- Only the color used in the chart
- Source metadata such as units, frequency, and series ID
- A random category
- The browser width
Metadata is needed to interpret and audit the chart.