Skip to content

About

Turns earnings call transcripts into a one-page executive brief: key numbers, guidance, tone, risks, and what management didn't clearly answer.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Latest commit

 

History

3 Commits

Folders and files

Repository files navigation

Earnings Call Analyzer

Independent project. Not affiliated with, endorsed by, or sponsored by any company whose calls it analyzes. Not investment advice. The bundled sample uses a fictional company.

Turns an hour-long earnings call transcript into a one-page, plain-English executive brief: what happened, what matters, what to watch, and what management did not clearly answer.

Not investment advice. The tool deliberately gives no buy/sell/hold calls. It surfaces facts, tone, risks, and open questions. AI summaries can contain errors; always check the source.

The problem

Earnings calls run 45-60 minutes and are full of jargon. Senior leaders and individual investors rarely have time to listen, so they read a headline instead. The real signal is often in the guidance, the tone, and how management answers hard analyst questions.

What it produces

The default output is a one-page brief:

  • Bottom line and 3-5 top takeaways
  • Key numbers, with context
  • Outlook (guidance)
  • Management tone, with evidence
  • Watch list of risks
  • Questions management did not clearly answer

Use --full for the detailed version (highlights, analyst Q&A themes, questions to research).

See samples/sample_output.md, generated from the fictional sample_transcript.txt.

Quick start

pip install -e ".[dev]"
export ANTHROPIC_API_KEY=your-key      # PowerShell: $env:ANTHROPIC_API_KEY="your-key"
earnings-analyzer samples/sample_transcript.txt

Options: -o brief.md to save, --full for the detailed summary, --json for raw structured output, --model to choose a model.

Design choices

  • Grounded only in the transcript. The prompt forbids outside facts and requires "Not discussed" instead of guessing.
  • Quote checking. Every double-quoted passage is checked against the transcript. Anything that is not word-for-word gets flagged in the output.
  • Guaranteed structure. The model returns data through a strict tool schema, so the output cannot break the formatting. Rendering also tolerates minor shape errors.
  • Written for a busy reader. One sentence per bullet, hard caps on list lengths, and the most important items first.
  • Balanced by construction. Risks and "not clearly answered" are required sections, not afterthoughts.
  • No recommendations. Output is framed as things to watch, with a disclaimer on every summary.

Testing on a real call

I tested the tool on a real Fortune 50 earnings call and checked the output against the transcript. That surfaced three problems, which are now fixed:

  1. A parsing failure when the model's JSON text contained stray quote characters. Fixed by moving to a strict tool schema.
  2. A paraphrase presented inside quotation marks. Fixed with the quote checker.
  3. A 2,500-word output that was too long for an executive reader. Fixed with the one-page brief and --full option.

The real transcript is not included in this repository.

Roadmap

  • Fetch filings and press releases from SEC EDGAR
  • Compare two quarters side by side
  • Track guidance changes across quarters
  • Simple web UI

Data and licensing

Transcripts from commercial providers are copyrighted. Use transcripts you have the right to use (e.g. a company's own published call, or your own subscription). The bundled sample is fictional.

Tests

pytest

License

MIT

About

Turns earnings call transcripts into a one-page executive brief: key numbers, guidance, tone, risks, and what management didn't clearly answer.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages