【要約】トヨタの売上高が17.6兆円になっていた — 財務データを検証する3層のバリデータ [Zenn_Python] | Summary by TechDistill
> Source: Zenn_Python
Execute Primary Source
// Problem
サイト運営者が、XBRLデータの正規化プロセスにおいて、トヨタの売上高を誤表示する問題に直面した。コードは正常に動作していたが、入力データの特性が想定と異なっていたことが原因である。
- ・加工工程が増えるほど、データの変質や不備が混入するリスクが高まる。
- ・テストコードだけでは、データ自体の不備や定義の差異を検知できない。
- ・「もっともらしく間違っている」数字は、自社データのみの検証では見落とされる。
// Approach
運営者が、データの信頼性を担保するために3つの異なる視点を持つ検証スクリプトを導入した。
- ・外部照合:yfinanceを用い、時価総額上位30社と16項目を比較。定義の差を台帳で管理する。
- ・内部整合性:全社に対し、資産・負債の恒等式や派生値の再計算、株式分割調整などを11種類実施。
- ・全値照合:出口JSONから生XBRLへ86万件を遡及。機械判定、AI、人の3段階で検証する。
// Result
運営者が、検証体制を構築した結果、原因不明の不一致を0件に抑え込んだ。
- ・86万件の照合から、実害のある14件の異常値を特定し、修正を完了した。
- ・BPSやEPSの異常を排除し、ランキング等の計算精度を確保した。
- ・「一致、または理由を説明できる差」として、全ての不一致を整理・管理した。
Senior Engineer Insight
> データ品質保証における「テストコードの限界」を突いた実践的な設計である。単なる一致確認ではなく、定義の差を「既知の差」として管理する運用設計が秀逸だ。ただし、偽陽性の仕分けやAI・人による最終確認など、運用コストが非常に高い。スケーラビリティと信頼性のトレードオフをどう制御するかが、実戦投入時の鍵となる。