Cascadia Finance
FormFactor’s GAAP financials from SEC EDGAR XBRL — an executive close pack built in Python, SQLite, and static ECharts.
Financial Analytics
Cascadia Finance
Public SEC filings turned into an executive close pack for FormFactor (NASDAQ: FORM) — headline → driver → variance, the way a finance director reads numbers. GAAP quarterly, FY2018 → Q1 FY2026, rebuilt offline from a frozen snapshot so the numbers never drift.
Executive Pack Margin Walk & Segments Peer Benchmark Q2 FY2026 10-Q
Overview
A financial-analytics module on real SEC filing data. It models FormFactor’s public GAAP financials — revenue, gross profit and margin, R&D and SG&A, total opex, operating income and margin, and diluted EPS — as a quarterly executive pack, now extended with a margin-driver view (Phase 2) and a peer benchmark (Phase 3) — all three phases live.
Deliberately lightweight: no SQL Server, no Power BI, no paid services. Python pulls and freezes the data, SQLite holds a star schema, and the front end is static HTML + Apache ECharts hosted free on GitHub Pages.
Why This Stack
This module exists for a financial-analytics role, and the tooling is a deliberate “right tool for the job” choice rather than a scaled-down enterprise stack. It has to be screen-shareable in an interview, hostable for free and forever, and transparent enough to walk through line by line. A few hundred lines of well-commented Python plus a static ECharts page does all three — and the Python ingestion layer is itself part of the story: analytics built to spec, in the open, with the data governance made explicit on every page.
Architecture
SEC EDGAR XBRL (frozen JSON) → Python (requests + pandas) → SQLite star schema → static ECharts pages.
- Ingest. Pulls FormFactor (CIK
0001039399) financial concepts from the SEC EDGAR XBRL APIs — SEC-compliant User-Agent, throttled well under rate limits — and commits the raw JSON snapshots to the repo. - Conform. Tidy CSVs, one row per company × metric × fiscal quarter, with QoQ and YoY variances precomputed and
derived/restated/missingflags. - Model. A SQLite star schema —
dim_company,dim_metric,dim_date,fact_financials_quarterly. - Present. Static, hostable ECharts pages —
index.html(the executive pack),margins.html(the gross-margin walk & segment view), andpeers.html(the US-listed T&M peer benchmark) — each with KPI headline cards, QoQ/YoY variance chips, labeled charts, and a “Data & method” footnotes section.
Headline Skill: Financial-Data Governance
Getting the governance right is the credibility play for a finance audience:
- Frozen snapshot. The data was pulled once and committed; every page carries an “as of SEC filings retrieved 2026-07-21” stamp, and the build rebuilds offline from those snapshots so the dataset cannot silently drift (FormFactor reports its next quarter July 29, mid-process). Refreshing is a deliberate manual action, never a side effect.
- GAAP vs non-GAAP. XBRL facts are GAAP and will not match a company’s non-GAAP press-release headlines — FormFactor’s headline gross margin is a record ~49% non-GAAP quarter, while the GAAP margin from the filings is lower and moved differently. Every metric is labeled GAAP explicitly, and the GAAP and non-GAAP framings are shown side by side rather than blurred.
- Derived Q4s. 10-Ks file the full year rather than a discrete Q4, so
Q4 = FY − (Q1+Q2+Q3)is derived where needed, flagged asderived, and reconciled in validation. - Tag mapping & restatements. XBRL tags change over time and filings get restated; a tag-mapping table handles the drift and the latest-filed value wins.
- Missing data is flagged, never filled. No interpolation, no zero-fill — “not disclosed” is a first-class value.
Validation
validate.py reconciles the derived quarters (four quarters sum to the full year within rounding) and spot-checks revenue and gross profit against figures verifiable in FormFactor’s press releases, writing the results to governance/validation_report.md. Every headline number on the page traces back to a filed, checkable source.
The Module
The Phase 1 executive pack is live now — an interactive, mobile-friendly page you can open on a phone or share on a screen.
Open the Live Executive Pack →
Phase 2 — the gross-margin walk & segments — is live too. The QoQ margin bridge (revenue effect vs margin effect), the Q1 FY2026 GM inflection with its filed drivers, and the Probe Cards vs Systems segment view, with segment revenue reconciled to consolidated GAAP.
Open the Margin Walk & Segments →
Phase 3 — the peer benchmark & governance showcase — is live too. FormFactor vs a US-listed test & measurement peer set (TER, ONTO, CAMT, COHU, INTT; KLA as a process-control reference), with the XBRL tag-mapping table rendered on the page and every not-comparable metric flagged, never estimated.
Beyond the frozen phases — a Q2 FY2026 announced-to-filed story. When FormFactor announced Q2 on July 29, 2026, I ran the press-release figures through the same margin-walk method — deliberately outside the frozen dataset, every figure labelled announced. When the 10-Q filed on August 4, I reconciled those estimates against the filed XBRL line by line: all eleven GAAP lines tied to the dollar, and the non-GAAP gross margin (which has no XBRL counterpart) is flagged not comparable rather than forced. Both pages ship as freeze extensions — Phases 1–3 stay exactly as they were.
Open Q2 Filed vs Announced → Q2 Read-Through (announced) →
Roadmap
- Phase 1 — Executive Financial Pack (live). FormFactor GAAP quarterly: revenue, margins, opex, EPS, with QoQ/YoY variances.
- Phase 2 — Margin Drivers (live). A GAAP gross-margin walk (revenue-vs-margin bridge) and the Probe Cards vs Systems segment view — segment revenue reconciled to consolidated GAAP, and segment margin shown only where it ties exactly (FY2024+).
- Phase 3 — Peer Benchmark + Governance (live). FormFactor vs a US-listed test & measurement peer set (TER, ONTO, CAMT, COHU, INTT; KLA as a process-control reference), with the XBRL tag-mapping table rendered on the page and honest not-comparable flags — nothing estimated.
Tech Stack
Python pandas SEC EDGAR XBRL SQLite Apache ECharts Static HTML / JS GitHub Pages Git
Disclosure
Built from public SEC filings (EDGAR XBRL APIs), as of 2026-07-21. Independent portfolio project — not affiliated with, endorsed by, or based on any non-public information from FormFactor or any company shown. Not investment advice.
Links
- View Live Module — the hosted Phase 1 executive pack
- Margin Walk & Segments — the Phase 2 gross-margin walk and Probe Cards vs Systems view
- Peer Benchmark & Governance — the Phase 3 US-listed T&M peer comparison + XBRL tag-mapping table
- Q2 FY2026 Filed vs Announced — the filed 10-Q reconciled line-by-line against my July 29 announced estimates; every GAAP line ties to the dollar
- Q2 FY2026 Read-Through — the pre-filing announced-tier margin walk (8-K press release, before the 10-Q)
- Build Repository — Python ingest/conform/build, frozen SEC snapshots, SQLite star schema, validation report
- Cascadia Architecture Overview