ダッシュボードは作るだけじゃダメ!公開データの「持続可能なパイプライン設計」をコードで語る

どうも〜おかむーです!今日は公開統計や施策ダッシュボードを“長く・正しく”動かすためのエンジニア的アイデアをシェアしますよ〜
- ダッシュボードの本当のコストは運用とデータ品質の維持にある
- PDFや手作業レポートが混在すると再現性が壊れる。要は“パイプライン”が必要
- e-StatやJapan Dashboard等の実例を踏まえ、再現可能で監視可能な設計パターンを提示
結論
短く言うと、政府・自治体の公開ダッシュボードは「見せるUI」だけで終わらせると失敗する。要するに、データ供給路(APIやCSV)、機械可読なマニフェスト、差分監視、そして簡単に再実行できるETLコードがセットになって初めて“信頼できる公共データ”になるんです!
レポート本文
背景と問題意識
これ見てくださいよ:Digital庁のJapan Dashboardや総務省・自治体の標準化推進資料(digital.go.jp、soumu.go.jp)って、見栄えいい可視化が多いんですけど、実際にデータを追いかけると欠けてる部分がある。交付金KPIのガイドライン(chisou.go.jpのPDF)や須賀川市の実績評価ページを見ると、要所がPDFやHTML報告で埋められてるケースがあるんですよね(city.sukagawa.fukushima.jp)。要するに、図はあるけど“元データ”が扱いにくい。
エンジニア的に言うと、問題の本質は3つ:
- データ供給の非一貫性(PDF/HTML/CSV/Excelが混在)
- 更新頻度とプロヴェナンス(出所・更新履歴)の欠如
- 自動化の欠如(手動で更新→人的ミス発生)
技術的にどう直すか(設計パターン)
1) データレイヤーを分ける(原典レイヤー/正規化レイヤー/公開APIレイヤー)
- 原典レイヤー:e-Stat APIや交付金のPDFをそのまま保存
- 正規化レイヤー:CSV/Parquetに変換、スキーマ定義(JSON Schema / Apache Avro)
- 公開APIレイヤー:OpenAPIで記述されたREST/GraphQLを提供
2) PDFは諦めずにパイプライン化する
- tabula-py / Camelotで表抽出、自動テストで抽出精度を監視
- 要するに、PDF→CSVのコードを一度書いてCIで回すだけで再現性がグッと上がる
3) データマニフェスト(dataset.json)を必須化する
- フィールド説明、ソースURL、最終更新、スキーマバージョン、検証ハッシュを含める
4) モニタリングと差分チェック
- データの行数/集計値の急変をPrometheusやCloudWatchで監視
- 変更があったらSlack/Webhookで通知
具体的なコード例(簡易ETL)
# 簡易: e-Stat APIから取得してParquet化する例
import requests, pandas as pd
url = 'https://api.e-stat.go.jp/rest/3.0/app/json/getStatsData'
params = {'appId':'YOUR_KEY','statsDataId':'0003412310'}
r = requests.get(url, params=params)
JSONをテーブル化する処理(省略)
df = pd.json_normalize(r.json()['GET_STATS_DATA']['STATISTICAL_DATA']['DATA_INF'])
df.to_parquet('normalized.parquet')
PDF抽出の監視はこういうCIテストを作るといいです:
- 期待列名が全部あるか
- 合計行が一致するか(前月比など主要指標)
実運用のコスト設計
ダッシュボードのランニングコストは「人手の回数×頻度」になる。だから自動化できるところは全部自動化する。具体的には:
- サーバレスでETLをスケジュール(例:Cloud Functions / AWS Lambda)
- 正規化済みデータはオブジェクトストレージ(S3等)に保存してCDNで配信
- APIはキャッシュ層を入れて読み取り負荷を下げる
政策のトレーサビリティ(KPIと実績のギャップ)
交付金やKPIはガイド(chisou.go.jp)と自治体の実績ページ(須賀川市など)で公表されてるけど、データが機械可読かつ連続的でないと“差”の分析がつらい。要するに、数値を時系列で追うためには日次/週次の正規化レイヤーが必要なんです。
オープンデータ活用の可能性
正規化してAPIを公開すれば、二次利用(地域サービス、研究、監査)が一気に増える。さらに、データマニフェストとOpenAPIが整っていれば、自治体間で再利用できる“データパッケージ”が作れるんですよね。
まとめ
- 見栄えの良いダッシュボードよりも、再現可能なデータパイプラインが先
- PDFがあっても諦めずにETL化してCIで守る
- dataset.json + OpenAPI + 差分監視で「長く信頼される公開データ」になる
参考:Digital庁 Japan Dashboard、e-Stat API、総務省の標準化資料、デジタル田園都市関連の交付金ガイド(chisou.go.jp)、自治体の実績ページ(須賀川市)など
おかむーから一言
テクノロジーで行政をアップデートするには、派手なUIより“作業が自動で回る仕組み”が大事です!コードで守る公共データ、みんなで作りましょう〜
情報ソース
- https://ja.wikipedia.org/wiki/%E3%83%87%E3%82%B8%E3%82%BF%E3%83%AB
- https://www.chisou.go.jp/sousei/pdf/r5_guideline-checkaction.pdf
- https://www.digital.go.jp/
- https://www.city.sukagawa.fukushima.jp/shisei/gyoseiunei/keikaku/chiho_sosei/1015604/4045.html
- https://biz.kddi.com/content/column/smartwork/what-is-digital/
- https://www.keiba.go.jp/
- https://www.digital.go.jp/policies/local_governments
- https://www.keiba.go.jp/KeibaWeb/TodayRaceInfo/TodayRaceInfoTop
- https://www.soumu.go.jp/menu_seisaku/chiho/jichitaijoho_system/index.html
- https://www.keiba.go.jp/live/
- https://www.kantei.go.jp/
- https://dashboard.e-stat.go.jp/
- https://www.kantei.go.jp/jp/kakugikettei/index.html
- https://www.digital.go.jp/resources/japandashboard
- https://www.kantei.go.jp/jp/naikaku/index.html
シェアする
関連レポート

公共予約システムの“ログインからAPI化”ロードマップ:パスワードレスで運用コストを下げる技術提案
公共施設予約の認証とデータを段階的にAPI化して運用コストを下げる技術ロードマップを紹介します。

政府データを“つなげる”発想:省庁バラバラを超えるフェデレーション戦略
フェデレーション層で省庁データをつなぎ、PDF混在を克服する実践的な技術案を示す。

政策ダッシュボードは“作るだけ”じゃダメ!KPIを自動で監査するパイプライン設計
政策ダッシュボードの数値を自動監査するパイプライン設計案。API・スキーマ・差分管理でKPIの信頼性を上げる技術手法を紹介します。