Four Things I Do Before Every AI-Assisted Equity Research of a Company— And Why My Output Quality Has Drastically Improved
A practitioner’s checklist for getting reliable, consistent output from Claude or ChatGPT
Three months ago, I had a problem. My AI-assisted equity research was inconsistent. Same company, same LLM, same general question — different answers on different days. Sometimes subtly different, sometimes wildly so.
I tried better prompts. I tried longer prompts. I tried different models. None of it fixed the core issue.
What fixed it was changing what I do before I start prompting. Four practices, applied consistently before beginning analysis of any company in Claude or ChatGPT, have drastically improved the quality of my output. None of them are complicated. All of them are about giving the LLM the right foundation before asking it to think.
1. Upload Clean Financial Data — Don’t Let the LLM Guess Your Numbers
This is the most basic step, and the one most people skip.
If you don’t upload a structured Excel file containing the company’s financial data, the LLM will source numbers on its own — from its training data, from whatever documents you’ve uploaded, from fragments it retrieves during search. Some of those numbers will be wrong. Some will be from the wrong period. Some will be standalone figures when you needed consolidated. You won’t always catch the errors, because the output will look polished regardless.
The fix is simple: prepare an Excel file with the financial data you want the LLM to use. Revenue, margins, segment breakdowns, balance sheet items — whatever your analysis requires. Once you’ve prepared it manually, you can ask Claude to restructure it into an LLM-ready format, so that it can be uploaded directly as a project document.
This isn’t glamorous work. But it eliminates an entire category of errors at the source.
2. Upload a Curated Document, Not Raw Files
This is the practice that made the single biggest difference.
Almost everyone I’ve spoken to does the same thing: uploads raw transcripts, annual reports, investor presentations, and rating reports into a Claude Project or a ChatGPT session, and then starts asking questions. It feels productive. The LLM searches through the files, pulls fragments, and gives you an answer.
But here’s what most people don’t realise: the LLM doesn’t build any persistent knowledge from those raw files. Every time you ask a question, it re-searches the documents from scratch. It doesn’t remember what it found last time. It doesn’t carry forward the synthesis. And because retrieval is probabilistic, running the same query multiple times can produce different answers.
Andrej Karpathy articulated this problem clearly: most people use LLMs with documents the way they’d use a search engine. Upload files, ask a question, get fragments back. What you should do instead is compile a curated document — a structured, persistent knowledge base that sits between you and the raw sources.
When you upload a curated document, the knowledge is already compiled. The cross-references are built. The contradictions are flagged. The LLM reads it once and carries that understanding into every conversation.
I covered this concept in detail — including the step-by-step compilation workflow I use for Indian equity research — in an earlier post: Your LLM Is a New Intern Every Morning — Here’s How to Fix That. If you take away only one idea from this post, make it this one.
3. Upload an Analytical Framework
This is the practice most people haven’t considered at all.
Even if you give the LLM clean data and a curated document, it still needs to know how to analyse the company. Without explicit guidance, it defaults to its own judgement — generic, textbook-level analysis that may be right half the time and wrong the other half.
For a bank, it might look at NPA ratios and NIM but miss funding cost trajectory. For a restaurant chain, it might focus on revenue growth but not understand that Ind AS 116 inflates statutory EBITDA by 850 basis points, or that corporate overhead is loaded entirely into one segment, making cross-segment margin comparisons misleading.
These are things an experienced analyst learns over months of covering a company. The LLM doesn’t have that context unless you give it.
An analytical framework is a document that encodes your analytical lens — not data, but the rules for interpreting data. In practice, it includes things like:
Standing metric rules — which version of a metric to use and when. “Always use Pre-Ind AS Restaurant Operating Margin for unit economics. Never use statutory EBITDA as a proxy for cash generation.”
Interpretation traps — where the numbers are structurally misleading. “A negative quarterly SSSG might reflect Navratri shifting between fiscal quarters, not structural brand decline. Always check the festival calendar before diagnosing.”
Disclosure gaps — what the company does not report, and why it matters. “No distinct P&L for the delivery segment exists. Do not attempt to derive standalone delivery margins from disclosed data.”
Segment-level quirks — structural features of the company’s reporting that the LLM won’t infer on its own. “Group corporate overhead is loaded entirely into one segment. Reported margins for other segments are optically inflated.”
I maintain a document like this — what I call a Durable Context Document — for every company I cover. It contains no point-in-time data. It contains interpretation rules, metric definitions with traps flagged, disclosure gap catalogues, and reconciliation bridges. It’s designed to remain valid for roughly twelve months and to be refreshed only when the company changes a metric definition or segment structure.
The difference in output quality is stark. With this document uploaded, the LLM stops making generic assumptions and starts following the same analytical logic I would apply myself.
4. Align Your Assumptions with the AI’s
This is the subtlest problem and the hardest to detect.
You type a detailed prompt. The AI reads it, silently fills every gap with its own defaults — scope, audience, depth, structure, what “good” looks like — and produces a polished-looking output. You read it and think: this isn’t what I wanted. But the AI did exactly what it understood. The problem is that its understanding and yours diverged on assumptions neither of you stated.
This invisible assumption mismatch is the single biggest source of wasted time with AI tools. Not prompt engineering. Not model capability. Just two sets of unstated assumptions passing each other in the dark.
The fix is a pre-flight checklist — a short protocol you prepend to any serious prompt that forces the AI to surface its assumptions, restate its understanding, and wait for your confirmation before doing any work.
I covered this in detail — including the exact prompt I use — in an earlier post: Pre-Prompt Protocol: Talk Before You Start the Work.
Start with One Company
These four practices are sequential and cumulative. Clean data prevents numerical errors. A curated document prevents re-derivation and inconsistency. An analytical framework prevents generic analysis. Assumption alignment prevents invisible divergence.
You don’t need all four on Day 1. Start with one company. Upload one clean Excel file. Compile one curated document. Write one analytical framework — even a short one. Use the pre-flight checklist on your next serious prompt.
You’ll feel the difference by the third conversation.
For the deeper framework behind these practices — including prompt engineering, guardrails, context window management, and the LLM vs RAG decision framework — see the full presentation from my CFA Society Chennai workshop: The Analyst’s AI Stack: Tools Change, Sound Logic Endures.
PS: Project Instructions is another very important topic that has helped me improve the quality of my output. I covered this in my Chennai presentation under the sections on Evidence Law and Evidence Rules guardrails. I will do a detailed blog post on it later, but for the time being, you can refer to my Chennai workshop presentation.
— Anil Tulsiram, Contrarian ValueEdge

