日本の出生統計を、年 × 都道府県 × 国籍(日本人/外国人)で可視化するダッシュボードです。 数値はすべて e-Stat(政府統計の総合窓口) の「人口動態統計 確定数(令和6年版)」の 実データで、テストデータではありません。本ページはグラフの見方・実装方法・ 元データのダウンロードURL・第三者が再現できる仕様を共有します。
| 指標 | 意味 |
|---|---|
| 出生数 | その年・地域で生まれた子の数(実数)。 |
| 粗出生率(人口千対) | 人口1,000人あたりの出生数。 |
| 合計特殊出生率(TFR) | 1人の女性が生涯に産む子の数に相当する推定値。 |
| 死亡数 | その年・地域で死亡した人の数(実数)。 |
| 自然増減(出生−死亡) | 出生数 − 死亡数。本サイトのビルド時に両方が揃う年のみ導出した値(マイナス=自然減)。 |
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 の突合に使用)。
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のみ) |
[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
独立実装による全カラム照合(ソースCSV vs 公開JSON)で 3,998件 完全一致 を確認済みです。 誰でも /debug で、元ファイルと画面の値が一致することを検証できます。