Code-Savvy Manifesto: Making Government Data Actually Useful

どうも〜おかむーです!今日はちょっとエンジニアっぽい話をしますよ〜
- Governments publish lots of PDFs; machines can't eat PDFs, so value is lost.
- Machine-readable rules exist, but practice lags; APIs + CSV + clear schemas fix most gaps.
- Small engineering changes unlock big policy insights and reuse potential!
結論
政府・自治体のデータ公開は「機械可読にする」ことが前提です。デジタル庁や内閣官房が示す機械可読性ルール(CSV/Excel優先)は正しく、PDFや画像化資料をそのまま放置していると政策評価やAI利用が阻まれます。要するに、フォーマットとAPI設計に投資すれば政策の透明性と実行力が一気に上がります。
レポート本文
背景と現状観察
これ見てくださいよ:デジタル庁の資料では「ファイル形式は機械が直接読み取れるExcelやCSV等」と明示されている一方で、自治体や一部省庁はまだPDFで成果報告やKPIを配布しているケースが散見されます(参照: digital.go.jp のガイドライン、内閣官房の資料)。PDFに埋めた表は人には読めるけど、プログラムからは取り出しにくいんですよね!
具体例:ある県の事業報告PDFでは採択事業数と実績額が記載されている(例: 2事業、実績額15,289千円)けれど、CSVで公開されていないため横断分析ができない。要するに、せっかくKPIを設定しても電子的に検証できないと意味が薄いという話です。
技術的な問題点(エンジニア的に言うと)
- フォーマット混在(PDF/画像/Excel)。標準化されていない列名や単位。
- APIがない、あるいはあってもスキーマが不明瞭で認証やレート制限が過剰。
- メタデータ欠落(更新日時、ライセンス、カラム説明がない)。
要するに、データの発見→抽出→変換(ETL)→分析の工程で毎回“手作業”が発生しているんですよ。
実践的な改善提案
サンプル:簡単なETLの例(Python/pandas)
import pandas as pd
原始CSVを読み込んで型チェック
df = pd.read_csv('local_grants.csv')
カラム名標準化
df.columns = df.columns.str.lower().str.replace(' ', '_')
KPIの数値変換
df['amount_yen'] = df['amount'].str.replace(',', '').astype(int)
基本的なバリデーション
assert df['amount_yen'].min() >= 0
出力をAPIで配信するためのjson
df.to_json('grants.json', orient='records', force_ascii=False)
エンジニア的に言うと、これAPI一本で解決する話なんですよね。OpenAPI定義があれば、フロントや解析チームはすぐに使えます。
政策評価の観点
政策はKPIを掲げますが、実績データが機械で読み取れないと効果測定が難しい。例としてデジタル田園都市国家構想交付金の実績資料にはKPI設定の記載があるが、CSV公開されていれば年度跨ぎでROIや地域間比較を簡単に実行できるはずです(参照: chisou.go.jp の交付金資料)。
API設計のチェックリスト(短め)
- エンドポイント: /v1/grants
- パラメータ: year, prefecture, project_type
- レスポンス: JSON array of objects with schema and examples
- メタ: last_updated, license, source_url
まとめ
PDFに入っている情報をCSV/APIに置き換えるだけで、政策検証・AI活用・市民参加のハードルはぐっと下がります。制度面(ガイドラインの運用)と技術面(スキーマ、品質CI、API設計)の両方で改善するのが近道です!
おかむーから一言
テクノロジーで社会をアップデートするって言ってるからには、まずデータをちゃんと公開してほしいんですよ!エンジニア視点で言うと、これをやるのに大金も要らない、ちょっとの設計とCIで劇的に変わります。僕はそれを作るのが好きなんです!
Sources
- https://www.zhihu.com/question/290714454
- https://www.digital.go.jp/assets/contents/node/basic_page/field_ref_resources/256dcba6-b936-4031-b88d-3abb27e27f9b/f7af0ca4/20260331_meeting_executive_outline_06.pdf
- https://www.zhihu.com/question/6430289390
- https://www.cas.go.jp/jp/seisaku/digital_gyozaikaikaku/data8/data8_siryou1.pdf
- https://www.zhihu.com/question/38923279
- https://www.digital.go.jp/
- https://www.chisou.go.jp/sousei/about/kouhukin/index.html
- https://ja.wikipedia.org/wiki/%E3%83%87%E3%82%B8%E3%82%BF%E3%83%AB
- https://www.pref.yamaguchi.lg.jp/uploaded/attachment/160746.pdf
- https://biz.kddi.com/content/column/smartwork/what-is-digital/
- https://metidx-gov.note.jp/n/n9468573c213b
- https://picks-design.com/blog/5751/
Share
Related Reports

Code-driven Manifesto: Auditing Local Gov Data and Systems (Kagawa case study)
Local gov systems run but hide data behind UIs; expose CSV/JSON, APIs, and common schemas to unlock value.

Code-driven Check: Japan’s Open Data and the Machine-Readable Gap
Digital Japan has dashboards and rules, but PDFs and messy formats still block automated policy verification; mandate CSV/JSON, APIs, and dataset linting.

Code Speaks: Testing Japan's Gov Data and Dashboards
Japan has great dashboards but inconsistent machine-readability. This report inspects e-Stat, Japan Dashboard, Kantei PDFs, and proposes API-first fixes and practical code examples.