How we compute every number.
Echelon is a learning terminal, so a wrong figure isn't a bug — it's a broken promise. This page documents the full method: where numbers come from, the gates they must pass, and exactly when and why we refuse to show one.
Every fundamental figure comes from SEC EDGAR— the companies' own filings, in the public domain. We fetch with a declared identity, well inside the SEC's fair-access guidance. Data is cached at the source's cadence: filings change when companies file, so surfaces revalidate daily. We display data only from sources whose terms permit it; we never scrape a feed we aren't licensed to show.
- The margin walk anchors on the filer's latest annual 10-K period— selected by maximum period-end date across full-year datapoints, never by the filing's fiscal-year label alone (a 10-K restates prior years under its own label; the label cannot disambiguate).
- An anchor whose period ended more than ~18 months ago is refused as current — a filer that stopped tagging a concept must not have its last-ever year presented as today (this gate exists because we caught exactly that failure in our own adversarial audit).
- Year-over-year deltas come only from the same filing's restated comparatives — never stitched across filings, never computed from mismatched restatements.
- Income walk: revenue and cost must join the anchor filing on the same accession and period, and gross profit must reconcile to revenue minus cost within $1M — or the entire walk refuses.
- Balance sheet: the accounting identity (assets ≈ liabilities + equity, same tolerance) is verified before display — a statement that doesn't reconcile doesn't render.
- Multi-year series prefer the taxonomy's totalrevenue concept over ASC-606 contract subsets when a filer tags both on one filing — so a conglomerate's series shows its filed top line, not a component.
When a figure can't be grounded, we won't show a number we can't trace — and we say so on the surface where it would have appeared, with the reason and what data would be needed. Refusals are classified honestly:
- Structural— the filing genuinely doesn't support the metric (banks and many tech, biotech, and REIT filers don't tag a gross-profit line; funds file portfolio reports, not income statements). Retrying won't change it, so the copy explains instead of asking you to try again.
- Transient— the source is momentarily unreachable. Only then do we say "try again."
- Partial desks are honest: a bank shows the balance sheet its filings do support while the margin walk refuses — never a blank page, never a guessed fill-in.
Every displayed figure renders next to its stamp: SOURCE · FORM + ACCESSION · FISCAL YEAR · PERIOD ENDED. The accession number is the citation — it opens the exact filing the number came from. Filing dates are labeled as the fiscal period they cover, never as a retrieval date.
- AI-composed briefs use a figures-by-reference architecture: the model sees figure labels only and writes placeholders; the pipeline substitutes the filed values server-side. Raw model text containing any unsanctioned digit is rejected outright, and any rejected draft falls back to a deterministic, pre-validated template.
- Rendered narrative must additionally clear advice-language, banned-phrase, and vendor-naming gates. Historical claims carry dates; analytical inference is labeled as judgment, not fact — the standard is versioned and its rules are pinned by an adversarial test suite that runs on every build.
- Every brief surface carries deterministic disclosure chrome: it is AI-generated analysis (or a deterministic template — labeled honestly either way), for informational purposes only, never investment advice.
When a learner submits work, code decides whether the numbers are right— not the AI. The grader recomputes the answer server-side from the same filing the learner analyzed, and checks the submission against it: numeric answers within a stated tolerance (±0.5 percentage points for percentage answers; multi-part exercises use tolerances sized to each operand's scale), choice exercises by exact set-equality. That verdict is deterministic — the same submission always grades the same.
- The AI's role is bounded arithmetic. Correct values earn 60 of 100 points, decided in code; the AI may award at most 40 for method and reasoning; the pass line is 70. The bound is the point: a flattering AI cannot turn a wrong answer into a pass— 40 is the ceiling of its influence, and 40 doesn't reach 70. A correct answer with no derivation doesn't pass either: showing the work is part of the work.
- Free-form work (theses, pitches) is scored per section within the same bounded frame, and the deterministic screens fire first: directional or advice language is a hard fail, any figure that doesn't trace to the filing is a hard fail, and injected instructions are refused — in code, regardless of how well the surrounding prose reads. Craft cannot rescue a submission that breaks a rule.
- On a failed attempt, the correct value is withheld — including from the AI's own feedback, which is screened token-by-token so the answer can't be fished out of the grader. You learn which step broke and why; you don't get the number to resubmit.
- If the AI grader is unreachable, grading degrades to its deterministic core and every rule above still holds. The gates are code, not prompts — an outage weakens the commentary, never the verdict.
Echelon's posture is that of a publisher of impersonal, bona fide, regular educational content— the same posture a textbook or a financial newspaper holds, and the opposite of an investment adviser's. Three properties keep that true, and every surface is built to preserve all three:
- Impersonal.Nothing here is tailored to anyone's financial situation, holdings, or objectives. Personalization adapts pedagogy— difficulty, review scheduling, which lesson comes next — never analytical conclusions. A watchlist changes which companies' filings you see, never what we say a figure means for you.
- Bona fide. Genuinely editorial: the methodology is published (this page), every figure carries its provenance, and no coverage of any company is ever paid for. If a partnership ever touches content, the content will disclose it and this page will record it.
- Regular. Content runs on a curricular rhythm — lessons, the daily filing read, earnings-season teaching units — never timed to induce action on a market event. The test we apply: would this run on this schedule if no reader could trade? Teaching from a fresh filing passes that test; "act before the open" framing never would, and never ships.
For the parent of a student and the compliance officer reading the same page: these are the lines this product does not cross, each enforced in code and pinned by tests that fail the build if the enforcement weakens.
- No advice, anywhere.Buy/sell/hold language, price targets, and "should I…" answers are refused deterministically — in the mentor, in AI feedback, and in grading, where advice language in a submission is a hard fail with a score of zero even when the arithmetic is right. Learning to analyze is the product; a directional view is a defect.
- No composite company ratings.No stars, grades, or scores on any security — a rating is a recommendation in costume. The only thing Echelon scores is the learner's own work.
- Nothing is ever ranked by returns. Leaderboards rank grade scores on analytical work — never investment performance, real, hypothetical, or backtested.
- No paper-trading, no P&L games. We grade whether the analysis was right, never whether a price went up. There is no simulated portfolio to win, no celebration mechanics near anything financial, and no way to confuse a grade with a gain.
- Credentials state exactly what they measure — graded analytical work on historical filings — and that they are not a license, designation, or qualification to advise. And no career outcome is ever promised: no placement claims, no salary framing, no implied endorsement.
Errors here are pedagogy, not losses: the stakes of a wrong answer are a lower grade and a better explanation — never money.
- Build gates, not review comments: a hardcoded figure on a data surface, advice language on a user-facing surface, or a marketing statistic without a public citation each fail the build. Deploys hard-stop on violations.
- We audit our own pipeline against difficult issuers: foreign filers, banks, REITs, sparse micro-caps, and filers with amended or discontinued reporting. Every displayed value is recomputed against the primary source, to the dollar. Every claimed defect is verified by hand before we accept it. The most recent audit (July 2026) found zero wrong displayed figures and drove the refusal-tier fixes described above.
- A public verification badge (golden regression checks recomputed against EDGAR, with counts and dates) ships when the golden-test suite lands in CI — we publish the badge when it's real, not before.
Every marketing statistic on this site must be substantiatable from a public, citable source — nothing derived from licensed or proprietary material. The register of every quantitative claim and its citation lives in the repository and is enforced by a build gate.
- No estimated, interpolated, or modeled values presented as filed data.
- No investment advice, signals, price targets, or recommendations — anywhere, including AI output (refused in code, not just in prompts).
- No stale data presented as current; staleness fails closed and hides the figure.
- No naming of third-party data vendors in analyst output; capability class only.
See the method live: load any company in the terminal — including one we'll refuse — or read a metric page like AAPL gross margin.
Educational use only — not investment advice. Figures come from public SEC filings; Echelon teaches you to analyze data, it never recommends buying or selling any security.