METHODOLOGY · PLAIN ENGLISH

The data and math behind the Index.

A composite score is only as good as the signals feeding it. Here is every input, weight, and calculation — documented end-to-end so anyone can audit the work.

◉ Last revised May 2026 · Open methodology · Verified data
The big picture

One number. Six signals. Fully transparent.

Every five minutes, the engine pulls data from six independent sources — Reddit, Google search behavior, the CFPB complaint database, NY Fed delinquency data, refinance demand, and survey panels. Each is normalized, weighted, and combined into a single composite score between 0 and 100.

Low score = stable, low-distress conditions. High score = elevated borrower stress. As of May 2026, the index is reading in the high anxiety range, driven primarily by SAVE plan uncertainty and servicer-related complaint volume.

Summary

Every input is a real, public dataset. AI is used only to classify sentiment in Reddit posts. The full math is on this page; primary sources are documented on the sources page.

The formula

How the six signals combine.

Each signal is normalized to a 0–100 score, multiplied by its weight, then summed into the composite. The relative weighting was calibrated against each signal's historical correlation with observed borrower behavior — not subjective judgment. The exact weights are proprietary; the chart below shows each signal's relative influence on the index.

6
signals
Google Search Panic
Primary
Reddit Sentiment (AI)
Primary
Borrower Surveys
High
Delinquency Trends
High
CFPB Complaints
Moderate
Refinance Demand
Moderate

Signals are ranked by their relative influence on the index — Primary, High, or Moderate. The exact weights, normalization curves, and AI classification prompts are proprietary.

🔍
Google Search Panic
Primary
Search queries like "can't pay student loans" are private signals of intent. Spikes consistently precede news cycles. Source: Google Trends.
💬
Reddit Sentiment (AI)
Primary
Our AI engine classifies emotion across r/StudentLoans, r/personalfinance, r/povertyfinance in real time. Source: Reddit + AI sentiment analysis.
📊
Borrower Surveys
High
Self-reported stress from public panels. Direct signal, no inference needed. Sources: Pew Research, U-Michigan Consumer Sentiment.
📉
Delinquency Trends
High
% of borrowers 90+ days behind. Source: NY Fed Household Debt & Credit Report.
📝
CFPB Complaints
Moderate
Federal complaint volume from actual borrowers. Spikes = servicer failures. Source: CFPB Consumer Complaint Database.
🔁
Refinance Demand
Moderate
Aggregate rate-shopping signals. Source: Google Trends refi queries + public lender application volume.
Signal 2 · Primary weight

💬 Aggregated borrower discussion.

Posts are pulled from r/StudentLoans, r/personalfinance, and r/povertyfinance over a rolling 30-day window. An AI classifier scores each post across five emotional dimensions: anxiety, confusion, frustration, optimism, hopelessness. Posts are weighted by engagement (upvotes + comments) so high-visibility signals carry more weight in the aggregate.

"Public Reddit posts offer one of the few real-time, qualitative views into borrower sentiment that complement traditional survey data and complaint records."

— Loan Clarity research notes

The sentiment score is inverted to align with the index: low optimism + high anxiety produces a high stress score. The classifier is re-run every five minutes against the most recent posts.

Signal 3 · Moderate weight

📝 Federal complaint volume.

The Consumer Financial Protection Bureau (CFPB) publishes every formal complaint filed against student loan servicers — Aidvantage, MOHELA, Nelnet, and others. We query the public API for student-loan complaints filed in the trailing 90 days and compare against the same window in the prior year.

+320% YoY typically indicates a material servicer or policy failure. -10% YoY indicates stabilization. Either way, the data is government-published and fully auditable.

Signal 4 · High weight

📉 Actual delinquency rates.

The Federal Reserve Bank of New York publishes a quarterly Household Debt and Credit Report tracking the share of student loan accounts 90+ days past due. This is the authoritative measure of realized borrower distress.

We pull the latest quarterly figure, scale against historical extremes (peak ≈ 12% in 2019; trough ≈ 5% during the COVID payment pause), and convert to a 0–100 stress score.

Signal 5 · Moderate weight

🔁 Refinance demand.

Refinance demand is measured via Google search volume for refi-related queries, supplemented with lender application data where available. Sharp increases in refi search activity reliably follow rate moves and major policy events.

Why only 8%? Refinancing is a voluntary, opportunity-driven action — not crisis-driven. It is a useful confirming signal but a weaker predictor than delinquency or complaint volume, so it carries a lower weight.

Signal 6 · High weight

📊 Self-reported borrower surveys.

We aggregate self-reported borrower stress from public survey panels: the University of Michigan Consumer Sentiment Index (filtered to student loan respondents), Pew Research, and our own quarterly proprietary panel. Survey data is noisier than transactional data, but it captures sentiment shifts before they show up in delinquency statistics.

Coverage note

Our proprietary survey panel currently includes ~500 borrowers and is expanding. As the panel scales, it will carry more weight relative to third-party survey data. Today, University of Michigan and Pew remain the primary inputs.

Under the hood

🤖 How the AI classifies sentiment.

Each Reddit post is passed to a language model with a structured prompt that returns scores from 0 to 1 across five emotional dimensions:

Scores are aggregated across all posts in the rolling window, weighted by engagement. The dominant emotion is surfaced on the dashboard; the composite feeds the Reddit signal (Signal 2).

Context layer

📈 Macro indicators tracked alongside.

Not currently weighted into the composite, but surfaced on the dashboard for context: 10-year Treasury yield (drives private refi rates), headline unemployment (drives ability to pay), Federal Register actions (policy changes), CBO student loan outlook reports, and NCES enrollment trends.

Normalization

How signals are mapped to a common 0–100 scale.

Each signal arrives in a different unit. CFPB complaints are counts. Delinquency is a percentage. Google Trends is already 0–100. To combine them, we normalize each to a common 0–100 stress scale using historical ranges:

STEP 1
Establish historical floor & ceiling
For each signal, identify the historical minimum and maximum observed values.
STEP 2
Linear scale to 0–100
Map today's value linearly between those two anchors. 50 corresponds to the historical average.
STEP 3
Invert if needed
Some signals are inversely related to stress (e.g., higher optimism = lower stress). These are flipped so higher always indicates higher distress.
STEP 4
Apply weights, sum
Multiply each normalized signal by its weight, sum the contributions, round to the nearest integer.
Update cadence

⏰ Recomputed every 5 minutes.

Reddit and Google Trends are pulled in near real time. CFPB updates daily. NY Fed delinquency releases quarterly. Surveys release monthly. The index is recomputed whenever any source publishes a new data point. The dashboard always displays the current score and timestamps each source so the age of every input is visible.

How to read it

What a move actually means.

The index is a momentum-and-intensity measure, not a forecast and not a health gauge. It answers one question: how acute is borrower stress in the signals right now, relative to history. Five bands map the 0–100 scale:

0–20Financial OptimismStress signals near historical lows.
21–40ConfidenceBelow-average distress; calm conditions.
41–60NeutralAround the historical average. Watch the direction.
61–80High AnxietyElevated, persistent borrower stress.
81–100Extreme DistressStress signals near historical highs.

Week-to-week moves of 10–20 points are normal. Several inputs — search demand, Reddit volume, CFPB complaint acceleration — are inherently volatile, so the composite breathes. A single-week swing is information about momentum, not instability in the methodology.

What makes a move meaningful

A move is signal — not noise — when it meets two tests: (1) breadth — multiple independent signals move the same direction, not one input dragging the composite; and (2) persistence — the move holds across recompute cycles rather than reverting on the next pull. A 15-point drop driven by one cooling signal that snaps back the next day is noise. The same drop confirmed by three signals and held for a week is a regime change.

This is why a reading should always be read with its band and its direction, not as an isolated number. A 57 falling from 74 (cooling out of High Anxiety) and a 57 climbing from 40 (deteriorating out of Confidence) describe two very different markets at the same score. Pro and Enterprise tiers expose the per-signal decomposition behind every move so you can apply the breadth-and-persistence test yourself.

Integrity

Versioned, and tamper-evident.

An index is only as credible as the history behind it. Two commitments make this one auditable:

Frozen, versioned methodology
v1.0.0
The formula — signals, normalization, weighting — is frozen as v1.0.0 and stamped on every captured reading. It cannot change silently underneath you. Every revision is logged in a public version changelog.
Append-only daily capture
Hash-chained
Every day, the live index and all six raw signals are written to an append-only record. Each entry carries the SHA-256 hash of the entry before it — so any retroactive edit breaks the chain and is immediately detectable. The history is real captured data, never modeled after the fact.
For institutional reviewers

The track record is the asset. See it organized and exportable at the official Track Record → (chart, full daily table, one-click CSV / Excel / PDF). Or pull it raw: /api/snapshots (the chained daily series), /api/integrity (version, freshness, chain status), /api/validation (stats + lead/lag framework vs. delinquency and complaint prints). Backtest it directly against your own data.

📈 View the official Track Record
Caveats

What this index does not do.

Important limitations to understand before relying on the data:

Why this exists

The $1.7T student loan market lacked a real-time signal layer. Lenders, servicers, policymakers, and journalists were operating on quarterly reports and anecdote. The Loan Clarity Borrower Sentiment Index closes that gap with continuously updated, fully-sourced data.

The methodology, in full.

Every input, weight, and calculation is documented above. Use the data with confidence — and consult a qualified professional before making any individual financial decision.

📊 View Live Index 📄 Download Institutional Brief ⚡ Get API Access