Lesson details
- Estimated study time
- 110 min
Learning objectives (1)
A request for “5 years of margins” hides a data contract. Identify the registrant by CIK, forms and amendments, fiscal periods, concepts, units, segments, continuing/discontinued operations, restatements, and the exact numerator and denominator before writing code.
Company Facts can efficiently provide entity-wide standard-taxonomy facts. That convenience has a boundary: it does not expose every extension or dimensional fact. When a segment, product, or filer-specific disclosure matters, inspect the filing and its instance contexts. Frames are calendar-aligned and need explicit controls for 52/53-week years and non-calendar issuers.
The Python companion should use transparent data structures, named steps, and plain loops or comprehensions. Cache the supplied fictional extract, retain raw rows, normalize into a separate table, log excluded facts, and print values with commas, percentages, and periods. Do not hide selection in a chain of opaque data-frame expressions.
Visual design is part of the analysis. Start axes at a defensible baseline, show units and periods, avoid dual axes unless unavoidable, distinguish actual from estimated values, and annotate definition changes. A small table often communicates uncertainty better than a decorative chart.
End with a reproducibility block: source endpoint, extraction date, input hash, code version, filters, selected facts, exclusions, limitations, and output hash. A reviewer should be able to rebuild the number rather than trust the screenshot.