All workflows
Research

Earnings call analysis with RAG

Ingest 50-200 transcripts per cycle, run analyst Q&A against them with context stitched from a vector index.

Earnings call RAG on a Box + Salesforce + Slack stack: 73% of a $68k/yr companies workflow is invisible re-injection and connector sync. Firedog instruments it per run.

Model 13%Prompt 13%Orchestration 2%Retrieval 6%History 61%Connectors 4%
ComponentWhy it is unattributedcalls$ / run
Model · 13%LLM inference (Claude Sonnet 4)Each Q&A round sends a stitched retrieval context plus the analyst question to the model and receives a structured answer with citations.tokens in: 42,000 · tokens out: 1,800Visible on the invoice.6$0.15
Prompt · 13%System prompt and few-shot examplesA 8,500-token reusable prefix defining output schema, citation format, and analyst persona is prepended to every model call without caching.tokens in: 51,000 · tokens out: 0Visible on the invoice.6$0.15
Orchestration · 2%Tool calls and agent framework hopsEach run triggers an extractor, router, and answerer tool chain; each hop is a billed LLM call. LangChain abstracts these into one logical invocation.tokens in: 6,000 · tokens out: 400Framework abstraction (LangChain / LlamaIndex) hides per-hop billing inside one logical call on the dashboard.8$0.024
Retrieval · 6%Vector search and embedding refreshEach query hits the vector store; new transcript chunks are re-embedded every cycle using text-embedding-3-large at $0.13/M tokens.tokens in: 9,500 · tokens out: 0Embedding bills land on a separate OpenAI invoice and never join the workflow P&L visible to the CTO.14$0.069
History · 61%Context re-injection across iterationsPrior Q&A turns are re-sent in full on every follow-up call to preserve thread state. Across 5 calls, accumulated thread tokens total 230k input with no pruning policy active.tokens in: 230,000 · tokens out: 0Pure overhead - the same tokens are billed again on every turn because no pruning or compression policy has been configured.5$0.69
Connectors · 4%Connector sync to Box, Salesforce, Tableau, and SlackThe workflow polls Box for new transcript packs, normalizes each into the ingestion schema, writes structured answers back to Salesforce covered-name records, refreshes the Tableau dashboard, and posts to Slack. Each system round-trip carries a small normalization LLM call to map external fields onto the internal schema.tokens in: 12,000 · tokens out: 900Connector traffic and its normalization calls are billed to the iPaaS / integration platform (and the Box and Salesforce API tiers), never to the AI workflow P&L the CTO reviews.10$0.048
A 30-analyst desk spends ~$68k/yr on earnings analysis; 73% is context re-injection, invisible orchestration hops, and connector sync to Box/Salesforce/Slack that no one set a policy on.
$1.14
cost per run
$68k
per year
73%
unattributed today
$9.10
per user, per day
Scenario: Mid-size companies, single cycle. 30 active users, 8 runs/day, 250 working days. 120 documents/run. Avg doc: 8,000 tokens.

Default model: claude-sonnet-4

Trigger: Each earnings cycle (4x/year) plus ad-hoc on new prints from covered companies.

Who runs it: Quant and multi-team companies, research teams. Typically 10-40 analysts per fund running structured Q&A across a full transcript corpus each earnings cycle. The desk runs on Box for transcript storage, Salesforce as the research CRM, Tableau for dashboards, and Slack for delivery, so every run reads from and writes back to that existing stack.

What Firedog shows

  • Per-run cost broken down to the cent across all five components, updated in real time.
  • Which turn in the Q&A loop billed the most tokens and why history re-injection is the dominant line item.
  • Exact $/year saved by activating a pruning policy versus routing follow-up turns to Claude Haiku 4.
  • How much per-run spend is generated by the Box, Salesforce, Tableau, and Slack connectors that never lands on the AI workflow invoice.

Decisions this informs

  • Set a sliding-window pruning policy on history re-injection to cap per-turn context at 10k tokens.
  • Route follow-up turns to Claude Haiku 4; reserve Sonnet 4 for the first analytical call only.
  • Cache the system prompt prefix via Anthropic prompt caching to drop that input cost by ~10x.
  • Batch the Box transcript pull and Salesforce write-back into one sync per cycle instead of per-run round trips to cut connector-normalization overhead.

Connected systems

  • Box · Document storage
    Transcript packs and analyst source PDFs are pulled from the fund's Box repository each cycle; the connector polls folders and normalizes new files into the ingestion queue.
  • Salesforce · CRM
    Structured Q&A outputs (revised estimates, contract-value reads) are written back to the covered-name records and opportunities in Salesforce.
  • Tableau · BI / dashboards · Salesforce (Tableau)
    Per-name earnings takeaways are pushed to the research Tableau dashboards analysts already monitor.
  • Slack · Collaboration · Salesforce (Slack)
    Analysts trigger Q&A rounds and receive citation-backed answers directly in Slack threads.

Understand every AI dollar.

Book a demo to see how Firedog attributes every AI request across your organization, and what your leadership team can do with the data.