コードで追う政策の履歴書:分類コードとCSVで政策KPIを自動化する話

どうも〜おかむーです!今日はちょっとエンジニアっぽい話をしますよ〜
- 3行要約
- ただし現状のCSVはスキーマやメタデータが足りなくてパイプライン化が難しいです
- CSVW/JSON Table SchemaとAPI提供でワークフローを自動化するのが現実的な改善案です
結論
国や自治体が公開するCSVに「分類コード」を一貫して付与・公開して、機械可読なスキーマを添えるだけで、政策のKPI追跡と年次の実績照合がぐっと楽になります。エンジニア的に言うと、API一本+スキーマ定義で“コードで語るマニフェスト”が現実的に実装できますよ!
レポート本文
現場で見つけた生データ(これ見てくださいよ)
実際の例として、次のCSVが公表されています:
- NOTICE注意喚起: https://notice.go.jp/docs/status_notice.csv
- 総務省の分類項目名: https://www.soumu.go.jp/main_content/000420038.csv
- 環境省(茨城県関連): https://www.env.go.jp/content/900398071.csv
これらは生のCSVなのでエンジニア的にはありがたいんですけど、ヘッダの統一、文字コード、日付フォーマット、カラムの意味説明(メタデータ)が足りないケースが多いです。
技術的な問題点(要するに問題はこういうことです)
- スキーマ不在:CSVに列名はあっても型情報や必須/任意の指定がないため、パイプラインで毎回例外処理が必要です
- コード連携不足:総務省の分類コードCSV(上記)と実データの紐付けが明示されていないことがあるため、手作業でマッピングしないと結びつかないです
- 更新履歴・発行メタがない:いつ更新されたか、ライセンスは何かが明記されていないCSVが散見されます
- API非整備:ファイル配布のみで差分取得APIがないため、差分同期が難しいです
具体的なデータ処理手法(コード例)
エンジニア的に言うと、こういう処理で始めると効率的です。pandasでCSVを取り込んで分類コードで結合する基本パターンを示します。
import pandas as pd
実データCSV
notice = pd.read_csv('https://notice.go.jp/docs/status_notice.csv', encoding='utf-8')
分類コードCSV(総務省)
codes = pd.read_csv('https://www.soumu.go.jp/main_content/000420038.csv', encoding='utf-8')
キーで結合(仮に 'category_code' が共通カラム)
merged = notice.merge(codes, left_on='category_code', right_on='code', how='left')
スキーマ検証(簡易)
assert merged['date'].dtype == 'datetime64[ns]' or merged['date'].apply(pd.to_datetime, errors='coerce').notnull().all()
要するに、事前にスキーマとコード表を整備しておけば自動処理が可能です。
KPIとコードをつなげる設計案
- 政策文書に「KPIコード」を付与(例: KPI-AGR-001)して、実績データに同じコードでレコードを付与する
- 分類コード(総務省のコードなど)をサブキーとして使用し、複数データソースの横串集計を可能にする
- データセットごとにCSVW/JSON Table Schemaを添付し、列の意味・型・許容値を明示する
- 差分API(PATCH/PUT)とWebhookで自治体→中央の更新通知を自動化
実装ロードマップ(短期〜中期)
まとめ
- 今のCSV公開はありがたいけど、スキーマとコードの結びつきが足りないです
- CSVW/JSON Table Schemaと分類コードレジストリ、差分APIを揃えればKPI追跡が自動化できます
- エンジニア的には「API+スキーマ+コード」この3つが揃うと仕事が捗るんですよね!
おかむーから一言
テクノロジーで社会をアップデートするには、まずデータの“接着剤”であるコードとスキーマを揃えることが近道です!現場のCSVに少しのメタデータを足すだけで、政策の透明性と検証可能性がぐっと上がりますよ〜
情報ソース
- https://notice.go.jp/docs/status_notice.csv
- https://www.inpit.go.jp/content/100869371.csv
- https://www.env.go.jp/content/900398071.csv
- https://www.mhlw.go.jp/content/001429362.csv
- https://www.soumu.go.jp/main_content/000420038.csv
- https://www.zhihu.com/question/290714454
- https://www.cas.go.jp/jp/seisaku/digital_gyozaikaikaku/data8/data8_siryou1.pdf
- https://www.zhihu.com/question/6430289390
- https://www.soumu.go.jp/menu_news/s-news/01toukatsu01_02000186.html
- https://www.zhihu.com/question/38923279
- https://www.chisou.go.jp/sousei/about/kouhukin/pdf/r6_houkokusho-suishin.pdf
- https://www.chisou.go.jp/sousei/about/kouhukin/index.html
- https://www.city.moka.lg.jp/material/files/group/47/r6digitaldennennkouhukinnhyouka.pdf
- https://www.cas.go.jp/jp/seisaku/digitaldenen/sougousenryaku/index.html
- https://www.digital.go.jp/policies/digital_garden_city_nation
シェアする
関連レポート

公共予約システムの“ログインからAPI化”ロードマップ:パスワードレスで運用コストを下げる技術提案
公共施設予約の認証とデータを段階的にAPI化して運用コストを下げる技術ロードマップを紹介します。

政府データを“つなげる”発想:省庁バラバラを超えるフェデレーション戦略
フェデレーション層で省庁データをつなぎ、PDF混在を克服する実践的な技術案を示す。

政策ダッシュボードは“作るだけ”じゃダメ!KPIを自動で監査するパイプライン設計
政策ダッシュボードの数値を自動監査するパイプライン設計案。API・スキーマ・差分管理でKPIの信頼性を上げる技術手法を紹介します。