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.
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.
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.
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.
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.
We pull Google Trends data for a basket of distress queries: can't pay student loans, student loan forgiveness, refinance student loans, SAVE plan. Trends provides a 0–100 score for each query based on relative volume.
Why this matters: Search is private. People query what they aren't yet willing to say publicly. A 300% week-over-week spike in "can't pay student loans" reliably precedes coverage in the financial press by several days.
Search behavior is one of the strongest available leading indicators of household financial stress. We average the basket and scale to 0–100. Source: trends.google.com.
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."
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.
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.
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.
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.
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.
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.
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).
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.
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:
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.
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:
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.
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.
An index is only as credible as the history behind it. Two commitments make this one auditable:
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.
Important limitations to understand before relying on the data:
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.
Every input, weight, and calculation is documented above. Use the data with confidence — and consult a qualified professional before making any individual financial decision.