Methodology & Data
PulseCredit is built to be auditable: every number traces back to keyless, public-domain U.S. government data through a single reproducible pipeline. This page documents the sources, the three methods, their limits, and how to regenerate everything.
Data sources
| Source | Role | Access |
|---|---|---|
| FRED (Federal Reserve Bank of St. Louis)DRCCLACBSDelinquency rate on credit card loans, all commercial banks (%) | forecast target/scenario target | keyless (fredgraph CSV endpoint) |
| FRED (Federal Reserve Bank of St. Louis)DRCLACBSDelinquency rate on consumer loans, all commercial banks (%) | context | keyless (fredgraph CSV endpoint) |
| FRED (Federal Reserve Bank of St. Louis)CORCCACBSCharge-off rate on credit card loans, all commercial banks (%) | context | keyless (fredgraph CSV endpoint) |
| FRED (Federal Reserve Bank of St. Louis)UNRATECivilian unemployment rate (%) | scenario driver | keyless (fredgraph CSV endpoint) |
| FRED (Federal Reserve Bank of St. Louis)TDSPHousehold debt service payments as % of disposable income (%) | scenario driver | keyless (fredgraph CSV endpoint) |
| CFPB Consumer Complaint Database (trends API)consumer_complaintsMonthly consumer complaint volume, total and by product. | anomaly layer | keyless (trends aggregation endpoint) |
All sources are U.S. Government public-domain data (FRED Terms of Use; CFPB open data) and require no API key.
Method 1 — Delinquency forecasting
The forecast target is FRED DRCCLACBS (credit-card delinquency rate, all commercial banks), a quarterly series back to 1991. We fit a SARIMAX(1, 1, 1) model and project four quarters ahead, publishing the central path with an 80% confidence band.
The model is backtested honestly on an 8-quarter rolling holdout against a naive last-value baseline. It currently does not beat naive: model MAPE 8.34% / RMSE 0.287 versus naive MAPE 4.51% / RMSE 0.155. We report this scorecard on the overview rather than hiding it — for a slow, persistent series, beating persistence is genuinely hard, and pretending otherwise would be dishonest.
Method 2 — Scenario regression
To stress-test delinquency against the macro cycle we fit an OLS regression DRCCLACBS ~ const + UNRATE + TDSP on 85 quarterly-aligned observations (R² = 0.756). The fitted coefficients are const −3.976, UNRATE +0.140 (percentage points of delinquency per point of unemployment), and TDSP +0.509. Scenarios step unemployment by +0/+1/+2/+3pp from its base of 4.33% while holding household debt-service (TDSP) fixed, yielding the marginal deltas shown on the overview.
Method 3 — Complaint anomaly detection
Monthly consumer-complaint volumes from the CFPB trends API are scanned per product line for spikes. Each month's value is compared to a trailing rolling mean and standard deviation; the resulting z-score ranks how unusual the surge is. Months exceeding the threshold are flagged, and the largest are surfaced as the top-anomalies table. This is an early-warning layer — a spike signals attention, not causation.
Limitations (read before acting)
- Forecast does not beat naive. Over the holdout the SARIMAX model trails a last-value baseline; treat the point forecast as indicative and lean on the band.
- Correlation, not causation. The scenario regression is descriptive. A +2pp unemployment shock mapping to a delinquency change assumes the historical relationship holds and other drivers stay fixed.
- Complaint volume is behavioral. CFPB counts reflect complaint propensity, media cycles, and category reclassifications — not only underlying stress. Product taxonomies changed over the window.
- National, quarterly granularity. These are national aggregates; regional and higher-frequency breakdowns are future work, not shown here as results.
Reproducibility
The pipeline is one command — npm run data (python3 scripts/build_index.py) — which pulls FRED and CFPB, fits the forecast, regression, and anomaly scores, and writes validated JSON artifacts. A separate check, npm run validate, asserts the outputs are well-formed and face-valid. No manual steps, no hand-edited numbers.