代码で語るマニフェスト:日本の政府データをエンジニア視点で検証する

IT政策提案
代码で語るマニフェスト:日本の政府データをエンジニア視点で検証する

どうも〜おかむーです!

  • 这篇文章用工程师视角检视政府与自治体的数据可用性、API 与フォーマット问题
  • 以 Digital庁、Japan Dashboard、e-Stat、地方交付金事例为参照,指出技术上的ギャップ与改善案
  • 给出可执行的コード例、データパイプラインとバリデーション提案,让自治体能把「政策の数値目標」变成可验证的データ資源

結論

日本在中央层面已经有不错的インフラ(Digital庁、Japan Dashboard、e-Stat)が整備されつつあるんですが、地方レベルでは機械可読性やAPI化が不均一で、政策の実績検証がエンジニア的にはまだ難しいんですよね。要するに「公開はしているけど使いにくい」データが多い。だからこそ、標準化されたスキーマ、OpenAPI、CIによるデータ品質保証、そしてオープンなデータカタログが必要って結論です!

レポート本文

背景と参照ソース

まずこれ見てくださいよ:中央はDigital庁のJapan Dashboardや国の統計ダッシュボード(e-Stat)を用意している(参考: https://www.digital.go.jp/ 、https://dashboard.e-stat.go.jp/)。一方で「デジタル田園都市国家構想交付金」等の地方向け施策では、交付金を使った事業の実績が自治体サイトに散らばって公開されている(参考: https://www.chisou.go.jp/ 、例: 須賀川市の評価ページ https://www.city.sukagawa.fukushima.jp/...)。

問題はここ:中央が整備したデータ群と、自治体ごとに散在する報告書(PDF多め)がスムーズに結びついてない点です。

データ可用性と機械可読性の現状

  • e-Stat は統計APIを提供しており、機械的に利用可能(参考: dashboard.e-stat.go.jp)。エンジニア的に言うとAPI一本で取れるデータは最高です!
  • Japan Dashboard は公的統計の可視化を促進しているが、自治体側のデータ公開はまだまばら。多くはPDFやHTMLテーブル、CSVでもフォーマットがバラバラ。
  • デジタル田園都市交付金の実績報告はPDFでの提出や自治体サイトのHTMLに埋め込まれていることが多く、データを直接集計・検証する際にワークが増える。

要するに、データは「ある」けど「使いやすくはない」。

技術的課題の具体例

  • PDFに埋められた表:OCRや表抽出が必要でエラーが起きやすい
  • 日付形式や数値の単位が統一されていない:例えば「年度」表記の違い、通貨単位(千円、円)など
  • スキーマの不一致:同じ項目名でも自治体ごとにカラムが違う
  • APIの有無:自治体毎にAPIがあるわけではない。あってもOpenAPI仕様に沿っていないケースが多い
  • メタデータ不足:データの更新日やライセンス情報が明示されていないことが多い

政策目標と実績のギャップをどう検証するか

政策には定量目標がある場合が多い(例:デジタル導入率、サービスのオンライン化率など)。検証のワークフローはこうです:

  • 目標をマシン可読なKPI定義として表現(JSON Schemaで定義)
  • 各自治体の実績データを自動的に取り込み(API/CSV/スクレイピング)
  • データ変換・正規化(単位統一、日付正規化)
  • 自動検証(期待値との比較、トレンド分析)
  • コードで語る:簡易なデータ取得と検証の例

    以下はe-StatやCSVを想定したPythonの例。pandasで取って、JSON Schemaで簡易バリデーションするワンパス。

    import requests
    

    import pandas as pd

    from jsonschema import validate, ValidationError

    例: CSV公開URLから取得

    csv_url = 'https://example.local.gov/data/attendance.csv'

    df = pd.read_csv(csv_url)

    スキーマの例

    schema = {

    'type': 'object',

    'properties': {

    'year': {'type': 'integer'},

    'service_online_rate': {'type': 'number'}

    },

    'required': ['year','service_online_rate']

    }

    行ごとに簡易バリデーション

    for _, row in df.iterrows():

    try:

    validate(row.to_dict(), schema)

    except ValidationError as e:

    print('Validation error:', e)

    KPI差分チェック例

    kpi_target = {2025: 0.8} # 80%

    actual_2025 = df.loc[df['year']==2025, 'service_online_rate'].mean()

    print('2025 gap:', kpi_target[2025] - actual_2025)

    このコードで言いたいのは、「APIがあれば1行で取れる、なければCSVでも良いけどスキーマは必須」ということです。

    改善提案(技術的ロードマップ)

  • スキーマ標準化:CSVWやJSON Schemaで共通テンプレを作る。データカタログにスキーマを登録する
  • OpenAPI + Data API:自治体は最小限のCRUDを提供するAPIを準備。OpenAPI仕様で公開すれば自動生成やテストが楽になる
  • CIでデータ品質保証:GitHub Actions等でデータ更新時にバリデーションとサニタイズを実行
  • データカタログ/CKAN導入:メタデータ(更新日、ライセンス、コンタクト)を必須にする
  • 政府クラウド(ガバメントクラウド)と標準基幹系の連携:Digital庁の「自治体情報システムの標準化・共通化」方針と合わせて、クラウド移行を進める(参考: https://www.digital.go.jp/policies/local_governments )
  • 参考実装を公開:サンプルETL、OpenAPI spec、JSON Schema を GitHub で公開してテンプレート化
  • CI の簡単な例(GitHub Actions の擬似設定)

    name: data-check
    

    on: [push]

    jobs:

    validate:

    runs-on: ubuntu-latest

    steps:

    - uses: actions/checkout@v2

    - name: Set up Python

    uses: actions/setup-python@v2

    with:

    python-version: '3.10'

    - name: Install deps

    run: pip install pandas jsonschema

    - name: Run validation

    run: python scripts/validate_data.py

    オープンデータの活用可能性

    • 民間企業やNPOがAPIでデータを取りやすくなると、地域課題の可視化・アプリ化が進む
    • 交付金の実績をマシン可読化すれば、第三者の検証(エビデンスベースの政策評価)が可能に
    • データをCC BY等で開放すれば、二次利用が促進されてイノベーションが生まれる

    参考リンク:

    • Digital庁: https://www.digital.go.jp/
    • Japan Dashboard リソース一覧: https://www.digital.go.jp/resources/japandashboard
    • e-Stat 統計ダッシュボード: https://dashboard.e-stat.go.jp/
    • 自治体情報システムの標準化・共通化(総務省): https://www.soumu.go.jp/menu_seisaku/chiho/jichitaijoho_system/index.html
    • デジタル田園都市国家構想交付金(地方創生): https://www.chisou.go.jp/sousei/about/kouhukin/index.html

    まとめ

    • 中央レベルのインフラは揃いつつあるが、地方のデータ公開フォーマットのばらつきが実績検証の障壁になっている
    • 解決の鍵はスキーマ標準化、API化、CIによるデータ品質チェック、オープンなデータカタログの運用
    • 小さな改善(CSV→JSON Schema、APIの一つ、GitHubでテンプレ共有)を積み上げれば、政策の「説明責任」と「検証可能性」は格段に高まる

    おかむーから一言

    テクノロジーで行政をアップデートするのはワクワクしますよ!小さなAPIとスキーマの積み重ねが、数年後の大きな違いを生むんです。実装の手伝い、いつでもやりますよ〜