台湾・韓国の輸出統計をSSOT化して専用ページに分離した日
朝、台湾の5月輸出のニュースを読んで二度見した。輸出額784億ドル、月間として過去2番目。前年同月比で50%増級の伸びだ。財務省(台湾財政部)は第2四半期から第4四半期にかけて2000億ドル超の水準を維持すると予測しているという。
このニュースを見た瞬間、/memory-makers/ に台湾の月次輸出統計チャートが欲しくなった。メモリーメーカーの業績を追っているページなのに、半導体サプライチェーンの心臓部である台湾の輸出マクロが見えていない。
やったこと
台湾の輸出統計を取得してチャート化
Claude Code に台湾財政部のプレスリリースPDFを取得してもらった。17本のPDFから pymupdf で Table 1 の輸出額・YoY を抽出させる流れ。途中、Windowsネイティブの Python に /tmp が見えなくて止まったが、Windowsパスに切り替えて再実行で通った。
韓国データのSSOT化
ここで問題がひとつ。韓国の月次輸出データは SK Hynix のページに直接埋め込んでしまっていた。台湾を別に足すと、似たデータが2か所に散らばる。そこで輸出統計をシングルソースオブトゥルース(exportStats.ts)に統一して、SK Hynix ページの「3層シグナル①」も memory-makers のチャートも、同じデータ元から引っ張る構造にしてもらった。データの重複表示は問題ない。元が1つであることが大事だ。
SSOT化の副産物: 旧データの誤りが発覚
韓国系列を再構築する過程で、既存データの謎が解けた。旧データに「2025-01: +102.7%」「2025-02: +160.6%」という不自然に大きいYoYが記録されていたのだが、これは 2026年1月・2月のYoYを1年取り違えて記録した誤り だった。
クロスチェックで確定している。2026-01の20.54Bを「+102.7%」で割り戻すと 20.54÷2.027≈10.13 で、実際の2025-01の10.1Bと算術的に一致する。前年値×(1+YoY)=当年値の検算を17ペア分回して、すべて±0.1Bの誤差内で整合した。最終的に韓国半導体輸出は2024年1月〜2026年5月の全29か月を欠損なしで補完できた。
台湾も2024年1月から取得
「台湾の方も24年の1月から取れますか」と聞いたら、財政部プレスリリースのURLパターン(民国年113=2024年)でPDFを12本一括取得して、台湾も韓国と同じ29か月に揃えてくれた。2025年YoYとの検算も全ペア±0.2B以内で整合。スラッシュコマンド /update-korea-chip-exports 側も台湾対応に更新済み。テスト13件パス。
設計の変遷: 直接埋め込み → カード → 専用ページ
今日の作業で一番記録しておきたいのは、表示側の設計が3段階で変わったこと。
- 当初: memory-makers のトップページにチャートを直接埋め込んだ
- 次: 「これそのまま入れちゃってるじゃないですか」と気づいて、サムスンや SK Hynix のカードと同じ粒度の「輸出統計」セクション+カードコンポーネントに切り出してもらった
- 最終: カードにまとめるより分けた方が見やすいと判断して、台湾・韓国それぞれの専用ページに分離。トップはチャート直埋めをやめて、他のメーカーと同じリンクカード方式に統一
最初から正解の構造を指示できたわけではない。画面に出たものを見て「分けた方がなんか良さそうだな」と口に出し、その場で方針を変えた。ページ作成時は vue-pages スキルのルール(左ボーダー禁止など)と既存の市場全体ページのパターンを確認させてから着手してもらったので、見た目は既存ページと揃っている。
台湾の2月はなぜ凹むのか(季節性の調査)
チャートを眺めていて、台湾の2月の落ち込みが気になった。2024年2月も2026年2月も凹んでいるのに、2025年2月はそれほど落ちていない。何なんだこれは。
調べてもらった結果、ほぼ確実に 旧正月(春節)のカレンダー効果 だった。春節がどの月に落ちるかが年によって動く。2024年は春節が2月10日で、連休(工場停止+通関停止)が2月を直撃し、2024-02は$31.43B(YoY+1.3%)まで凹んだ。
さらに面白かったのは2026年2月。直感とは逆で、2026年2月の$49.8Bは「2月として歴代最高」 だった。凹みに見えるのは2月が弱いのではなく、1月が強すぎたのが実態。チャートの谷を見て「2月が悪い」と読むと間違える。この調査結果はメモに残してもらった。
別件: beat-monitoring のセクターグループ行分割
同日の別セッションで、/beat-monitoring の「ビート継続成長期待」カテゴリの中身が銘柄数の増加でのっぺりしてきたので、セクター別に区切れないか相談した。半導体ファウンドリーやAIインフラといった既存のセクタータグを使って、各 tier(構造転換済み/ビート継続・成長期待/継続ウォッチ)の中を粗いセクターグループの小見出しで行分割する構造にしてもらった。
テンプレートを tier-row ラッパー+行ラベル構造に変更し、CSSも追従。全テストを回して、3件の失敗が今回の変更と無関係の既存データ問題(MU-FY26Q3 の GAAP データ欠如など)であることまで確認して完了。
学び
- SSOT化は掃除のついでに監査になる。データ元を1つにまとめる作業の途中で、1年ずれたYoYの記録ミスが算術検算で炙り出された。重複データを放置していたら、この誤りは2か所に増殖したままだった
- 表示の設計は画面を見てから決めてよい。直埋め→カード→専用ページと3回作り直したが、各段階の手戻りは小さかった。最初に完璧な構造を悩むより、出して見て直す方が速い
- チャートの谷には2つの読み方がある。「その月が弱い」のか「前の月が強すぎた」のか。台湾の2026年2月は後者だった。季節性の仮説も、前年比と絶対額の両方で検算しないと誤読する