Build a SAP margin history without filling the gaps
An eleven-period SAP sample with a missing revenue value demonstrates honest tables, chart gaps and mixed-source financial history.
Our stored SAP sample includes annual periods from 2015 to 2025, but revenue is missing for 2017. That year’s operating margin must remain missing. An eleven-year span is not the same as eleven complete, comparable observations.
Jump to a section
A longer history can still be incomplete
Our stored SAP sample spans 2015–2025. Its 2017 row has operating income but no revenue, so an operating-margin calculation for that period has no denominator. Replacing the missing value with zero would create a meaningless result; interpolating revenue would introduce an estimate that is not in the source record.
Resolve SAP and check the annual statement periods available. Build an operating-margin history using operating income divided by revenue. Keep missing values missing, leave gaps in the chart, and identify each row’s source and currency. Flag changes of source, accounting basis and report version. Do not describe the series as complete or comparable until those checks pass.Connect the MCP server first. A prompt requests an analysis; it does not guarantee that the required data exists.
Keep the missing year visible
| Period end | Revenue | Operating income | Margin | Record source |
|---|---|---|---|---|
| 2015-12-31 | 20.793 | 4.252 | 20.4% | SEC XBRL record |
| 2016-12-31 | 22.062 | 5.135 | 23.3% | SEC XBRL record |
| 2017-12-31 | Not available | 4.877 | Not available | Bundesanzeiger record |
| 2018-12-31 | 24.708 | 5.703 | 23.1% | Bundesanzeiger record |
| 2019-12-31 | 27.553 | 4.473 | 16.2% | Bundesanzeiger record |
| 2020-12-31 | 27.338 | 6.623 | 24.2% | ESEF source ↗ |
| 2021-12-31 | 26.953 | 6.308 | 23.4% | SEC XBRL record |
| 2022-12-31 | 29.520 | 5.914 | 20.0% | SEC XBRL record |
| 2023-12-31 | 31.207 | 5.799 | 18.6% | SEC XBRL record |
| 2024-12-31 | 34.176 | 4.665 | 13.6% | SEC XBRL record |
| 2025-12-31 | 36.800 | 9.617 | 26.1% | SEC XBRL record |
The table preserves the requested period even when the calculation is unavailable. A line should stop at the missing observation and resume at the next complete one. Connecting the points across 2017 would suggest continuity that we have not established.
This sample combines SEC XBRL, Bundesanzeiger and ESEF records. The source column describes the stored records; it does not prove that every historical value was manually reconciled to a specific original document.
Check comparability before telling a story
Consistent field names are useful, but they do not settle accounting comparability. Ask whether the observations cover the same reporting entity, consolidation scope, annual duration, currency and measure definition. An acquisition, discontinued operation or restatement may change the interpretation of a trend even when every cell is populated.
- Ask for all required years and compare that list with the returned periods.
- Check for multiple records for the same year. Choose a report version deliberately rather than averaging duplicates.
- Retain source labels and filing identifiers. Locate the original report when the comparison matters.
- State which observations are missing or still require reconciliation.
A useful answer includes the unresolved work
A defensible answer could say: “The stored series contains eleven annual periods and ten calculable margins; 2017 revenue is missing. Sources differ, so this is a starting table for reconciliation.” That is more useful than presenting a smooth chart as a finished accounting comparison.
For a simpler calculation with direct ESEF source links, use the ASML example.
A report-period history is not a point-in-time backtest
A row for 2015 tells you which reporting period it describes. It does not, by itself, tell you when that version of the number became available to an investor. Later reports can restate earlier periods, and a source-normalization change can alter an imported field.
Before a backtest, establish the publication/availability date and report vintage for every observation. This dated mixed-source sample is a missing-data demonstration, not a validated point-in-time series. Downloading it does not remove that distinction.
For an accounting comparison, inspect original reports and choose a consistent definition. Keep 2017 as a visible gap until the relevant source and mapping are verified.
Take the numbers with you.
Dated sample · 4 October 2026 · Public download · No account required
Mixed stored sources; comparability and historical report versions require verification. Amounts use full currency units; CSV empty numeric cells mean missing values, not zero. These downloads use the same stored inputs as the article.