Code-Savvy Manifesto: Making Government Data Actually Useful

IT Policy Proposals
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)→分析の工程で毎回“手作業”が発生しているんですよ。

実践的な改善提案

  • 機械可読ファースト:すべての表はCSV/JSONで併置。PDFは可視化用、データは別にする。
  • OpenAPI + JSON Schema:APIを公開するならOpenAPIでエンドポイントとスキーマを明示。これで自動クライアント生成できます。
  • メタデータの必須化:更新日、ライセンス、カラム説明を付ける。CKANなどのカタログを活用。
  • CIでデータ品質チェック:CSV列の型チェック、値レンジチェック、null率監視を自動化。
  • サンプル:簡単な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で劇的に変わります。僕はそれを作るのが好きなんです!