用代码读清政策:从CSV、API到可复现的KPI验证

- 这篇文章用工程师视角把政府发布的数据当作代码来读,检验可用性和可验证性。
- 我们对比了政府公开的CSV、PDF和平台(例:notice.go.jp、digital.go.jp、raida.go.jp 等),指出典型问题并提出工程化改进路径。
- 给出具体的抓取/验真/转化代码样例,和能马上执行的开放数据治理建议。
結論
政府的开放数据已经有了良好基底(部分CSV、デジタル庁资源、RAIDA等可查),ただし実務上は「機械可読性」「安定API」「メタデータ管理」が足りない!要するに、政策のKPIをコードで検証できる仕組みを作ること、CSVだけでなくAPI・schema・CIを整備することが最優先です。
レポート本文
どうも〜大家好,我是おかむー!今日はちょっとエンジニアっぽい話をしますよ〜。コードで語るマニフェスト、つまりデータとシステムで政策を検証する目線で、実際の公開ソースを見ながら話します。これ見てくださいよ:
- 直接可用なCSV例:https://notice.go.jp/docs/status_notice.csv (可直接抓取)
- 行政が提供するCSVサンプル:digital.go.jp の病院一覧CSV(例:https://www.digital.go.jp/assets/.../xxxxxx_hospital.csv)
- 事例集・支援プラットフォーム:RAIDA(https://raida.go.jp/)
- 政策KPI指標の管理ガイドライン:内閣府の交付金ガイドライン(https://www.chisou.go.jp/.../r5_guideline-checkaction.pdf)
上記をエンジニア視点で評価すると、主に以下の課題が見えます。
問題点(技術視点)
- フォーマットの不統一:CSVがある一方でPDFに重要な表が埋め込まれていることが多い(要するに解析しにくいということ)。
- メタデータ不足:列の意味、更新日時、版管理が明示されていないケースあり。APIがない or 安定していない省庁もある。
- スキーマの欠如:型やユニットが不明瞭で、結合や時系列集計の信頼性を担保できない。
- 更新/公開のCIがない:変更検出や差分公開がされておらず、再現可能な解析が難しい。
いいところ
- 一部はCSVで直接落とせる(notice.go.jpなど)。これ、エンジニア的に言うとすごくありがたいんですよ!APIが無くてもCSVで自動処理できるのは大きい。
- RAIDAのように事例や地図で可視化する試みがある。要するに、データカタログ作りの土台はあるということです。
具体的検証例(コード)
これ、まずCSVをとってスキーマ検査してParquetに変換するワンライナー的な流れが有効です。例:Python + pandas + pyarrow
import pandas as pd
url = 'https://notice.go.jp/docs/status_notice.csv'
df = pd.read_csv(url)
print(df.dtypes)
簡易スキーマチェック
required_cols = ['id','title','status','updated_at']
for c in required_cols:
if c not in df.columns:
print('missing', c)
Parquetに落とす
df.to_parquet('status_notice.parquet', index=False)
curlで取得して差分確認する簡易例:
curl -sS https://notice.go.jp/docs/status_notice.csv -o /tmp/status_notice.csv
sha1sum /tmp/status_notice.csv
定期的にCIでハッシュ比較すれば更新検知ができます
要するに、API一本で解決する話なんですよね:安定エンドポイント + スキーマ定義(OpenAPI / JSON Schema) + バージョニング。これがあれば、政策のKPI(例えばデジタル実装交付金の達成率)を自動で算出できるようになります。
KPIと実績ギャップの検証方法
- 指標収集:交付金報告のPDFから数値を抜くのは最後の手段。まずは対応するCSV/APIを探す(chisou.go.jp の交付金ページや RAIDA を参照)。
- 正規化:年度・自治体ID(JISコード)・事業コードで正規化する。
- 集計と差分:目標値と実績を合算して不足分を可視化(例:年度ごとの達成率、自治体別ランキング)。
例(擬似SQL):
SELECT prefecture_code, SUM(actual_amount) / SUM(target_amount) AS ach_rate
FROM grants
GROUP BY prefecture_code
ORDER BY ach_rate ASC;
改善提案(実装ロードマップ)
技術スタックの提案(最小構成)
- データストレージ:S3 + Parquet
- カタログ:CKAN / DataHub
- API:FastAPI(OpenAPI自動生成)
- CI:GitHub Actionsでスキーマ検証と差分検出
- メタデータ:DCAT + JSON Schema
まとめ
政府データは一部でCSVやプラットフォームが整備されており、エンジニア的には「繋げられる」状態です。ただし、PDF混在・スキーマ不明・API不足という実務上の障壁が残る。要はコードで再現できる「仕様」をもう一段階揃えることが重要で、そのための短期施策(カタログ化・スキーマ化・CI)と中長期施策(API整備・メタデータ運用)が必要です!
おかむーから一言
テクノロジーで社会をアップデートするのは口で言うほど簡単じゃないんですよ。でもデータの「機械可読化」って、地味だけど爆発的に効く投資です。やりましょう、今すぐ小さく動かして検証を始めてください!
信息来源
- https://www.zhihu.com/question/290714454
- https://metidx-gov.note.jp/n/n9468573c213b
- https://www.zhihu.com/question/6430289390
- https://zenn.dev/govtechtokyo/articles/b65dc687e50918
- https://www.zhihu.com/question/38923279
- https://ja.wikipedia.org/wiki/%E3%83%87%E3%82%B8%E3%82%BF%E3%83%AB
- https://raida.go.jp/
- https://www.chisou.go.jp/sousei/pdf/r5_guideline-checkaction.pdf
- https://www.digital.go.jp/
- https://www.chisou.go.jp/sousei/about/mirai/policy/policy1.html
- https://notice.go.jp/docs/status_notice.csv
- https://www5.cao.go.jp/j-j/wp/wp-je24/csv/d1-1-4.csv
- https://www.digital.go.jp/assets/contents/node/basic_page/field_ref_resources/0066e8a8-6734-44ab-a9a9-8e09ba9cb508/xxxxxx_hospital.csv
- https://www.jinji.go.jp/content/900024615.csv
- https://www5.cao.go.jp/j-j/wp/wp-je24/csv/d1-1-42.csv
相关报告

代码で語るマニフェスト:以香川县公共设施预约系统为例的技术与数据审视
以香川县公共设施预约系统为例,从API、数据格式与标准化角度检视自治体系统,给出可执行的技术改进方案与代码示例。

用代码说话的宣言:从机器可读性到API化,解读日本数字化政策的数据工程路径
从Digital庁到e-Stat,评估日本数位政策的数据交付形态,提出API化与工程化改进路线,附代码与验证示例。

コードで語るマニフェスト:日本政府データをエンジニア視点で検証する
政府のマニフェストをデータとコードで検証。PDF多用やAPI断片化を指摘し、e-StatやJapan Dashboardを例に具体的な改善案とコード例を提示します。