Raj Agrawal

Learnings from software and technology

  • Home
  • Technology
  • Software
  • Work
  • Play

Connect

  • GitHub
  • LinkedIn
  • YouTube

Powered by Genesis

You are here: Home / Archives for data

Seven Ways To Predict Indian Bank Trouble From Public Data. All Seven Failed.

August 22, 2026 by Raj Agrawal Leave a Comment

Every few months a startup deck promises to predict the next bank failure from news data. I wanted to know whether that’s buildable, so one night I sat up past midnight waiting for the last of seven tests to finish. The question I’d chased all winter: can you tell which Indian bank is about to get hit, using nothing but public information? The number came in a little after one in the morning. It landed below blind guessing.

So had the other six, a couple slightly worse than random, which takes a certain talent.

The setup

Every night a monitor pulls public documents about 25 Indian banks, big and small, from every corner where bank trouble becomes public: penalties, circulars, market disclosures, court and enforcement records, cyber advisories, and news. Around 4,600 documents, each tied to its bank and linked to the original. The question: which bank gets an RBI penalty, a SEBI order, or a cyber incident in the next 14 days? Ground truth: 86 incidents (35 penalties, 16 orders, 21 cyber, plus fraud and court events). That scarcity is itself a finding.

Seven ways to ask one question

Seven ways of asking, all on the same locked split:

  • Counting: the documents, penalties, and stories trailing each bank, and whether they’re rising or falling.
  • The same counts by source.
  • The same counts by kind of event.
  • Meaning: a small open language model summarizes what the words say; simple statistics sort the summaries.
  • Word counting: which words show up, and how often.
  • Coaching: the same model, taught from a handful of worked examples.
  • Reading and judging: an AI reads the bank’s recent documents and must answer yes or no.

The pass mark isn’t fifty-fifty; for rare events it’s what a coin weighted by rarity would score, so blind guessing already banks 0.2591. My stop rule, set in advance: beat random by more than 0.05, or abandon prediction entirely. Pre-committing a kill criterion is the only defense against noise at two in the morning.

The results

MethodScoreRandom-guessing barDifference
Number-crunching the paper trail0.24330.2591−0.0158
Reading the meaning of the words0.25970.2591+0.0006
Counting the words0.25870.2591−0.0004
Coached on worked examples0.24480.2591−0.0142
An AI reading the documents0.24610.2591−0.0130

Frozen test split, 14-day head start; the bar is random guessing on the same data.

Every entry sits at or below random, bunched within two hundredths of a point. The best posted +0.0006 over random. That’s static. The best single probe managed +0.0418 (word counting, on SEBI orders), short of the 0.05 gate. The gate didn’t trip. I stopped.

Even a cheating version fails: hand a method everything said on the day the bad news broke, and it still can’t pick out the banks that got hit. A bigger model wouldn’t have helped either. Buckmann and Hill (two DeepMind researchers, arXiv 2408.03414) found simple statistics on a small model’s reading usually beat a giant model guessing from a few examples, my exact case.

Why I believe the null

Weak-signal hunts usually end with a story by slide forty. I inverted the incentives: split, yardstick, pass mark, and stop rule, all written down and locked before the final tests ran. Even my tooling refuses to publish site copy that claims prediction, a guardrail whose only job is stopping me oversell my own data. Quietly satisfying. Honest limits: 25 banks, one market, eighteen months, 86 incidents. What I can say, with receipts:

Everything a well-equipped outsider can assemble from public sources does not forecast these outcomes at a 14-day lead, and the failure is not for lack of architecture.

What I built instead

The monitor exists: a continuously updated, fully-referenced record of what’s publicly happening to each bank, free at banks.rajagrawal.com. No account, no gate. Each bank gets an attention score: how much public discussion is swirling around it right now. It ranks conversation, nothing more, and the site says so wherever the number appears. There’s a heat map, every number clicks through to its sources, and thin data gets “insufficient data” instead of a guess.

If you follow Indian banks, as an analyst, journalist, or depositor, that record is the product. If you think I’m wrong, good. The standing challenge: break the null. Find an approach, a sharper definition of trouble, or a licensed dataset that clears the bar under rules locked in advance. I want to hear about it.

Filed Under: Technology Tagged With: banking, data, india, machine-learning, rbi