Compare Financial Periods
compare_periodsCompare a company's core financial metrics across two fiscal periods side-by-side. Shows absolute and percentage changes with significance classification (minor < 5%, notable 5–15%, significant > 15%). The response includes a material_changes count: this is the number of metrics whose significance ∈ {notable, significant} (i.e. absolute percentage change > 5%). Use it as a quick scalar to triage filings — anything > ~3 typically signals a material event worth deeper review. Use period format: 'FY2024' for annual, 'Q1-2024' for quarterly. Pass period_a as the EARLIER period and period_b as the LATER one — if you invert them the server auto-swaps and sets swapped: true in the response so deltas always carry the correct sign (rather than silently flipping). Point-in-time safe via as_of_date. Available on all plans.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | Stock ticker symbol, e.g. AAPL, MSFT, BRK.B | |
| period_a | Yes | Earlier fiscal period. Format: 'FY2023' for annual or 'Q1-2023' for quarterly. | |
| period_b | Yes | Later fiscal period. Format: 'FY2024' for annual or 'Q1-2024' for quarterly. | |
| as_of_date | No | Point-in-time date (YYYY-MM-DD). Only returns facts with accepted_at on or before this date — eliminates look-ahead bias for backtesting. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| _meta | Yes | Provenance envelope — data lineage for every MCP response | |
| ticker | Yes | ||
| changes | Yes | Per-metric deltas: metric, label, period_a, period_b, delta, delta_pct, significance | |
| swapped | Yes | True when inputs were reordered so period_b is the more recent period | |
| period_a | Yes | Earlier period descriptor: label, fiscal_year, fiscal_period, period_end, filing_date | |
| period_b | Yes | Later period descriptor, same shape as period_a | |
| as_of_date | No | ||
| company_name | No | ||
| total_metrics | Yes | Count of metrics compared across the two periods | |
| material_changes | Yes | Count of metrics flagged as a material change |