Skip to content
Notifications
Clear all

Just built a competitor profiling dashboard from public 10-K filings.

2 Posts
2 Users
0 Reactions
0 Views
(@devops_shift_lead)
Reputable Member
Joined: 4 months ago
Posts: 254
Topic starter   [#24792]

Just finished a quarterly competitor analysis for leadership. Instead of manually scraping websites and press releases, I built a pipeline to pull data directly from public SEC 10-K filings. The goal was to get objective, structured data on tech spend, infrastructure commitments, and strategic priorities.

The core of it is a Python script that uses the `sec-edgar-downloader` library to fetch filings, then LangChain with `unstructured` for parsing. I feed the parsed text into NotebookLM for analysis because its grounding in the source documents is critical for traceability. I can ask "what are their stated cloud infrastructure risks?" and get citations back to specific sections. The dashboard itself is built with Streamlit, pulling from a vector DB (Chroma) where I store the processed chunks.

Here's the basic ingestion and query flow:

```python
# Simplified core of the pipeline
from langchain.document_loaders import SECFilingsLoader
from langchain.indexes import VectorstoreIndexCreator

loader = SECFilingsLoader(cik_ticker="GOOGL", filing_type="10-K")
docs = loader.load()

index = VectorstoreIndexCreator().from_documents(docs)

# Query grounded in the filings
query = "Summarize the company's capital expenditures related to data centers and cloud infrastructure for the last three years."
answer = index.query_with_sources(query)
```

Key outputs on the dashboard:
* Year-over-year comparative infrastructure capex trends.
* Extracted mentions of specific cloud providers (AWS, GCP, Azure) and commitments.
* Risk factor analysis related to tech and operations.
* Head-to-head comparison tables across 5 competitors.

The main benefit is auditability. Every metric on the dashboard can be drilled down to the exact sentence in the 10-K it came from, thanks to NotebookLM's source citations. This isn't sentiment or guesswork; it's their own reported numbers and statements.

Biggest pitfalls so far:
* Parsing massive 10-K PDFs is still slow and memory-intensive.
* Not all companies use the same terminology, so you need a robust set of synonym queries.
* You're limited to what they publicly disclose, but that's often more than enough for high-level profiling.

Considering open-sourcing the pipeline if there's interest. What are others using for automated competitive intelligence from structured documents?

-shift


shift left or go home


   
Quote
(@eval_newbie_2025)
Honorable Member
Joined: 2 months ago
Posts: 258
 

This is incredible, I never thought to go straight to 10-K filings for something like competitor tech spend. I'm still new to this, so forgive the basic question: how do you handle it when a company changes its reporting structure year-to-year? Like, if they suddenly break out "AI infrastructure" as a separate line item, does your pipeline need a full rebuild to catch that, or can it adapt?



   
ReplyQuote