ダッシュボードの見た目だけじゃダメ!APIファーストで作り直す行政データUX

IT政策の提案
ダッシュボードの見た目だけじゃダメ!APIファーストで作り直す行政データUX

どうも〜おかむーです!今日は政府や自治体のダッシュボードを「エンジニア目線」で眺めて、UIと生データ(API/CSV)の溝を埋める話をしますよ〜

  • これ見てくださいよ:デジタル庁のJapan Dashboardやe-Stat、RESASは可視化が進んでるけど、APIとUIが乖離している場面が多い
  • エンジニア的に言うと、API-firstにしてスキーマと契約テストを回せばUXも信頼性も上がるんです
  • この記事では現状観察→具体的な技術設計→コード例→導入ロードマップまで提示します!

結論

政府・自治体のダッシュボードは見た目が良くなってきたけど、APIと可視化の一貫性が課題。要は「表示と生データが同じものを指す」ことをコード(スキーマ、契約テスト、CI)で担保するのが近道です。デジタル庁のJapan Dashboardやe-Stat、RESASの事例を踏まえつつ、API-firstなパイプラインを提案します。

レポート本文

背景と現状(参照:デジタル庁 / e-Stat / RESAS / GovTech東京)

政府はJapan Dashboard(デジタル庁)やe-Statの統計ダッシュボード、RESASの地域分析システムでデータ可視化を推進しています(参考: digital.go.jp, dashboard.e-stat.go.jp, stat.go.jp)。GovTech東京も自治体の可視化支援やUX改善を行っていて、UI/UXの改善は政策発信にも効くことが示されています。

ただし、技術的に見ると次のようなズレが目立ちます:

  • 公開データがCSVで落とせるが、ダッシュボードで使われている集計ロジックが明示されていない
  • 一部指標はPDFや画像でしか提供され、機械可読性が低い
  • APIがあってもスキーマやバージョン管理が弱く、フロントエンドとAPIの乖離が発生

要するに、見た目とデータの"契約"が甘いということです。

技術的問題の分解

  • メタデータ不足:更新スケジュール・計算式・欠損扱いが明示されない
  • フォーマット非一貫性:CSV/JSON/PDF混在で自動化が難しい
  • API設計:エンドポイントがUI向けにチューニングされていて、再利用性が低い
  • 品質保証の欠如:スキーマ検証や契約テストが回っていない
  • 改善提案:API-firstでダッシュボードを再設計する(技術設計)

    ステップ:

  • データインベントリを作る(e-Stat, Japan Dashboard, RESASの公開URLを列挙)
  • 各指標に対して契約(schema + calculation spec)を定義
  • APIを"raw"(生データ)と"aggr"(集計済)で分け、フロントは後者を叩く
  • JSON Schema + サンプルデータでスキーマ検証を自動化
  • CIで契約テストと差分監視を導入(GitHub Actions等)
  • コード例:e-StatやダッシュボードのCSVを取得してスキーマ検証する簡単なPython例

    # pip install pandas jsonschema requests
    

    import requests, pandas as pd

    from jsonschema import validate

    csv_url = 'https://example.gov.jp/data/sample.csv' # 実運用ではe-StatのCSV等

    r = requests.get(csv_url)

    open('sample.csv','wb').write(r.content)

    df = pd.read_csv('sample.csv')

    schema = {

    'type':'array',

    'items':{

    'type':'object',

    'properties':{

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

    'pref': {'type':'string'},

    'value': {'type':['number','null']}

    },

    'required':['year','pref']

    }

    }

    サンプル変換

    data = df.to_dict(orient='records')

    validate(instance=data, schema=schema)

    print('schema ok')

    要するに、CSVをそのまま叩くんじゃなくて"契約"を置いておくとフロントも安心して使えるということです。

    運用パイプライン(CI/CD)例

    • データ公開リポジトリ(Git)を作る(metadata/、raw/、aggr/ディレクトリ)
    • データ更新時にスキーマ検証 + 比較テストを自動実行
    • ダッシュボードはバージョン化されたaggr APIを参照

    簡単なGitHub Actionsの流れ:

    • push → テスト(schema validation, sample queries)→ deploy API

    UXと開発の両立

    UI/UXチームとは「APIドキュメントがUXの仕様書になる」点で協働すると効率が良いです。デジタル庁のUIガイドラインやGovTech東京の支援事例を活かして、ユーザー向けの説明(注釈や更新日)もAPIメタデータから自動生成できます。

    まとめ

    見た目が良いダッシュボードは増えたけど、エンジニアリングで支える"契約"が弱いと再利用性と信頼性が落ちる。対処法はシンプルで、API-first、スキーマと契約テスト、CIで自動化すること。これで自治体のデータ活用はぐっと速く、確かなものになりますよ!

    おかむーから一言

    データは宝の山だけど、掘っても掘っても砂利ばかりだと疲れます。APIでちゃんと整備して、自治体データを使いやすいインフラに変えていきましょう!

    シェアする