← ダッシュボードへ戻る

このサイトについて / About

日本の出生統計を、年 × 都道府県 × 国籍(日本人/外国人)で可視化するダッシュボードです。 数値はすべて e-Stat(政府統計の総合窓口) の「人口動態統計 確定数(令和6年版)」の 実データで、テストデータではありません。本ページはグラフの見方実装方法元データのダウンロードURL第三者が再現できる仕様を共有します。

1. グラフの見方

① 推移グラフ(折れ線)

② 国籍別構成

③ 地域比較(棒グラフ)

④ データテーブル / CSV

指標の定義

指標 意味
出生数 その年・地域で生まれた子の数(実数)。
粗出生率(人口千対) 人口1,000人あたりの出生数。
合計特殊出生率(TFR) 1人の女性が生涯に産む子の数に相当する推定値。
死亡数 その年・地域で死亡した人の数(実数)。
自然増減(出生−死亡) 出生数 − 死亡数。本サイトのビルド時に両方が揃う年のみ導出した値(マイナス=自然減)。

2. 元データ(ダウンロードURL)

e-Stat の「ファイル」型統計表は 認証不要で取得できます(fileKind=1=CSV、エンコードは Shift-JIS)。

内容 ダウンロード
4-3 都道府県別 年次別 出生数 CSV / 表ビューア
4-4 都道府県別 年次別 出生率(人口千対) CSV
4-5 都道府県別 年次別 合計特殊出生率 CSV / 表ビューア
5-9 都道府県別 年次別 死亡数 CSV
4-32 父母の国籍別 年次別 出生数(全国) CSV / 表ビューア
4-33 父母の国籍別 都道府県別 出生数 CSV

本サイトに投入した実ファイルのコピーは /source/ 配下でも配信しています(/debug の突合に使用)。

3. どの行・どの列を読んでいるか

CSVの行・列は1始まり。値の記号 - * は欠損(NULL)、カンマ・全角数字は正規化します。

読み取り規則 派生
4-3 / 4-4 「列1が空 & 4桁年が2つ以上」の行を年ヘッダとして検出(4-3は8行目=列2〜27が1935〜2024)。以降の各データ行は列1=地域ラベル全 国→00000、01 北海道→01000)、各年列=値。 metric=births/crude_rate、nationality=total
4-5 同上。年ヘッダは10行目(列2〜29=1960〜2024)。 metric=tfr、nationality=total
4-32 9行目出生数見出し以降、列1=年・列2=総数・列3=父母とも日本を採用。42行目百分率見出しで打ち切り。 total=列2、japanese=列3、foreign=総数−父母とも日本(全国・1987〜2024)
4-33 7行目以降、列1=地域・列2=総数・列3=父母とも日本。年は2024固定。21大都市再掲(コード>47)は除外。 total/japanese/foreign(都道府県・2024のみ)

4. 実装方法(アーキテクチャ)

[ETL] ローカル Node/TS … e-Stat CSV を解析・正規化(ビルド時のみ実行)
   src/etl/wideParsers.ts    … ワイド表(行=地域,列=年)の解析
   src/etl/staticArtifacts.ts … 地域×指標ごとにシリーズへピボット
   src/etl/buildStatic.ts    … 解析→静的JSON(public/data/)生成
        ↓
[データ] 静的JSON  /data/regions.json  /data/stats/{地域}-{指標}.json
        ↓
[配信] Cloudflare Pages(サーバ処理なし・全データ事前計算済み)
        ↓
[UI] 静的アセット(public/)  フィルタ・グラフ(Chart.js)・表・CSV出力

再現コマンドと完全な仕様は、リポジトリの docs/DATA_SOURCES_SPEC.md を参照してください。

for id in 000040320378 000040320379 000040320380 000040320408 000040320409; do
  curl -sL "https://www.e-stat.go.jp/stat-search/file-download?statInfId=$id&fileKind=1" \
    | iconv -f CP932 -t UTF-8 > data/raw/$id.csv
done
npx tsx src/etl/buildStatic.ts
npx wrangler pages deploy public --project-name=japan-birth-stats

5. データの正確性

独立実装による全カラム照合(ソースCSV vs 公開JSON)で 3,998件 完全一致 を確認済みです。 誰でも /debug で、元ファイルと画面の値が一致することを検証できます。

6. 制約・注意