見出し画像

人口移動報告「転入・転出数」市区町村別マップを開発しました

市区町村間の人の移動を年齢や性別などで検索・確認できる『人口移動報告「転入・転出数」市区町村別マップ』を開発しました。

このnoteではデータに関する説明や、使い方の解説などを行います。


転入・転出数とは

人口移動における転入数とは、ある地域(今回の場合は市区町村)に別の地域から移り住んできた人の数です。転出数はその逆で、その地域から移った人の数を表します。別の市区町村へ引っ越しをしたことがある方は、転入届や転出届を提出したことがあるかと思います。これを1年間で集計したものです。海外からの転入や海外への転出もカウントされますが、死亡や出産などの自然増減は転入出ではないため含まれません。

ある地域における転入者数から転出者数を差し引いた数値を転入超過数と呼びます。特定の地域に人が集まっていること、逆に出ていく人が多いことの目安になる数字です。

総務省は、転入・転出に関する様々なデータを「住民基本台帳人口移動報告」として毎年1月末に公開しています。メディアでもこの統計データの一端が報道されることがありますが、規模の大きなデータベースということもあり、特に市区町村レベルのデータを網羅的にビジュアライズした事例はないようです。そこで今回は、市区町村別の転入・転出者数をインタラクティブな色分け地図(Choropleth Map)で表現しました。


マップの使い方

最初に「マップを見る」ボタンを押すと色分け地図を見ることができます。市区町村ごとに転入者数の方が多ければ赤、転出が多ければ青で塗り分けられます。

右下の絞り込みボタン(一番上のアイコン)を押すと、表示するデータを国籍(日本人/外国人)、性別(男性/女性)、年齢層(5歳刻み)で絞り込むことができます。

チェックボックスをオン・オフしてデータを絞り込むと、地図の塗り分けや凡例が選択範囲に応じて変わります。

それぞれの市区町村をタップすると、詳細なデータを見ることができます。「選択範囲」の欄は、現在チェックボックスで選択している範囲 = 地図で色分けされている値を示します。「総数」は、国籍・性別ごとにすべての年齢層を足し合わせた数値です。

その下には転入・転出に分けたグラフも表示されます。グラフの凡例(「転入」「転出」)をクリックすると、グラフに表示するデータを絞り込むことができます。


開発過程

まず住民基本台帳人口移動報告のページから対象のExcelファイルをダウンロードして、PythonでJSONファイルに変換しました。この時点で「総数」「15-64歳」など個別の数字から計算できる数字や、都道府県・市部・郡部などを除きます。

市区町村(行政区も含む)約1,900 × 国籍(日本人/外国人) × 性別(男性/女性) × 年齢層(後述の「不明」も合わせて20項目) × 転入・転出 = 30万項目超と、1つのJSONファイルで対応できるか心配でしたが、いろいろ圧縮することで1MB未満に収まりました。私は操作中のユーザーに非同期ロードを待たせるなどのストレスを出来るだけかけたくないので、ページ読み込み時にアセットを可能な限りロードするようにしていますが、クライアントサイドでインタラクティブにデータからの描画を繰り返すとなると、このくらいがギリギリかなという気がします(それでも一昔前に比べれば許容量は遥かに増えましたが)。

市区町村の境界線は国土数値情報の行政区域データを使いました。このあたりは前職Google News Labのワークショップでもお馴染みです。

チェックボックスでの絞り込みは、ある意味このデータ可視化で最も実装したかった点です。データ量の多さゆえか、今までこのデータに関するインタラクティブな可視化はほとんどなかったかと思います。一方でニュースで注目されるポイントは東京一極集中、若年女性の流出、外国人に人気の自治体など多岐にわたるため、それぞれの注目ポイントによって柔軟に検索できる仕様にしました。

凡例は2021年に作った『ふるさと納税「市区町村別」寄付・控除額マップ』をベースに、プラスとマイナスで色の系統を変えました。今回は基準も固定ではないため、データの一覧を正負で分け、それぞれでQuantileに色を割り当てています。


データに関する注釈

今回使ったのは2023年の年次データ(2024年1月末公開)です。本来は2024年(2025年1月末公開)のデータを待っていたのですが、記事執筆時点(2月23日時点)で昨年と同じデータが公表されていないため、昨年のデータを使っています。公開が遅れているのか、それとも今年は公開されないのかはわかりませんが、市区町村間の人の流れを見るのに極めて重要なデータなので、総務省には可能であれば毎年公開してほしいところです。ちなみに2023年のデータですので、市区町村の区分けも当時に合わせています(たとえば静岡県浜松市は再編前の区分けです)。

また、このページでは元データにはない年齢層「不明」を設けています。元データでは各年齢層の数字と、それらを足し合わせた「総数」の項目がありますが、各年齢層の合計と総数が合わないケースがありました。ほとんどの市区町村で1人程度と、大勢に影響しない範囲ではありますが、新たに「不明」項目を作って差分の調整を行っています。

今回使ったデータは市区町村をベースにした転入数と転出数でしたが、もうひとつ挑戦したいのが、市区町村間の移動の「流れ」。同じA市から転出した人が隣のB町に行ったのか、それとも遥か遠方のC区に移ったのか。人の「流れ」を見ることができると面白いのではないかなと思っています。



ふだんはフリーランスでデータ可視化に関する仕事をしています。 

  • データ可視化のコンテンツ企画、制作、開発

  • アクセス解析などデータダッシュボードの設計、開発

  • 学生向けデジタル教材の開発

  • メディア向けデータ分析・データ可視化講座

  • 雑誌・新聞への寄稿、大学の講義(ゲスト講師、非常勤)

仕事のご依頼は、X(Twitter)FacebookLinkedInなどから気軽にご連絡ください。

いいなと思ったら応援しよう!