コードで語るマニフェスト:自治体データとUXを技術で検証してみた

どうも〜おかむーです!今天来聊点技术味儿的公共数据和自治体システムの話〜
- 3行要約
- 技術観点:API不足、CSVやスキーマの品質バラつきが大きく、監視・再現性が低い
- 提案:API-first・OpenAPI・メタデータ整備・KPIの時系列化で監査可能にする
結論
自治体のDXはUI/UX改善だけで終わらせないで欲しいんです。エンジニア的に言うと、データをAPIとスキーマで標準化しないと「改善の効果検証」ができないんですよね。PDFは人間向けには便利だけど、政策評価や二次利用には致命的。要するに、データを機械可読にしてこそ政策の実効性が測れるということです。
レポート本文
現場で見つかるパターン
これ見てくださいよ:
- 自治体の施策説明はPDFやHTMLの長文が中心(参照:chisou.go.jp のデジタル田園都市国家構想関連資料)
- 一方でCSVや機械可読ファイルは散発的に公開(例:notice.go.jp の NICTER CSV、env.go.jp の CSV)
- ウェブUX関連の改善事例は増えているが、データAPIの話は後回し(参照:Zenn の自治体UX記事)
要するに、見た目は良くなってもデータの自動集計・モニタリング基盤が整っていない自治体が多いんです。
技術的な問題点(具体的に)
- PDFファイル中心:OCRやテーブル抽出の手間が必要で再現性が低い
- CSVのフォーマットばらつき:文字コード、列名、日付書式が統一されていない
- メタデータ欠如:更新日時、スキーマバージョン、ライセンスが明示されない
- API不在または非RESTful:使いにくいスクレイピング必須のケースが多い
- KPIと実績の乖離監視が難しい:chisou.go.jp のガイドラインではKPIチェックが要件になっているが、データ整備が追いついていない
データで検証するための実務テクニック
エンジニアならこう動くと良い、というハウツーを示します。
1) 公開CSVの一次取得(例:NICTERのCSV)
curl -sS https://notice.go.jp/docs/status_nicter.csv -o nicter.csv
head -n 5 nicter.csv | sed -n '1,5p'
2) pandasでの前処理(文字コード/日付統一)
import pandas as pd
df = pd.read_csv('nicter.csv', encoding='utf-8')
df['date'] = pd.to_datetime(df['date'], errors='coerce')
df = df.dropna(subset=['date'])
print(df.dtypes)
3) スキーマ検証とData Catalog化(簡易例)
- JSON Schemaで列の型と必須項目を定義
- データセットごとにメタデータ(更新日、ソースURL、ライセンス)を付与
4) PDF埋め込みデータの扱い
- まずはPDFに含まれるテーブルを自動抽出(tabula-py / Camelot)で取り出し、CSV化
- しかし正攻法は「CSVで再公開を要求する」こと。手動抽出はコスト高で継続的運用に向かない
KPIと実績のギャップを見る(例:デジタル田園都市構想)
- chisou.go.jp の指針ではKPI設計とCheck/Actionが求められている(参照:r5_guideline-checkaction.pdf)
- 実務では「計画値」と「実績値」がPDF内の表に埋め込まれているケースが多い
- 政策評価に必要なのは時系列データ。月次/四半期単位でAPIがあればトレンド分析や異常検知が可能になる
サンプル分析フロー:
- データ収集(APIまたはCSV)→ 正規化(スキーマ)→ DB格納(TimescaleDB等で時系列管理)→ BIでダッシュボード化(GrafanaやMetabase)
改善提案(技術仕様レベル)
- API-first:まずOpenAPIでデータ契約を設計する。例:/kpi/{year}/{indicator}
- スキーマ管理:JSON Schema + バージョニング。必須フィールドにsource_url, published_at, licenseを含める
- データポータル:中央レジストリ(go.jp系)に登録して discoverability を担保
- CI/CDでデータ品質チェック:GitHub ActionsでCSVのスキーマ検証を自動化
- UXと連携:フロントはAPIを叩くだけで最新データを表示。PDFは人向けの補助資料に留める
コード化された改善案(OpenAPIの概念):
paths:
/kpi:
get:
summary: Get KPI timeseries
parameters:
- in: query
name: indicator
required: true
schema:
type: string
responses:
'200':
description: time series CSV/JSON
オープンデータ活用の可能性
- 地域スタートアップや研究者が二次利用でアプリや分析を作れる
- 交付金の実績を透明化すれば、地域ごとの投資効果を比較できる
- API化により自治体間の横比較、国レベルでの自動集計・異常検知が容易になる
まとめ
- 見た目のUX改善は重要だけど、データの機械可読化こそDXの肝です
- PDF多用、CSVフォーマットばらつき、API不足が現場の課題
- 対策はAPI-first設計、JSON Schemaでのスキーマ管理、CIでの品質チェック、時系列DBでのKPI監視
おかむーから一言
テクノロジーで行政をアップデートするのは可能です!小さなAPI一本から始めて、次の選挙や投資判断がデータで語れる世界を一緒に作りましょう!
信息来源
- https://zenn.dev/govtechtokyo/articles/b65dc687e50918
- https://www.trans-plus.jp/blog/column/202210_municipality-dx
- https://picks-design.com/blog/5751/
- https://lg.reserva.be/ux-design/
- https://www.nttdata-kansai.co.jp/media/098/
- https://www.digital.go.jp/
- https://www.chisou.go.jp/sousei/pdf/r5_guideline-checkaction.pdf
- https://ja.wikipedia.org/wiki/%E3%83%87%E3%82%B8%E3%82%BF%E3%83%AB
- https://www.city.sukagawa.fukushima.jp/shisei/gyoseiunei/keikaku/chiho_sosei/1015604/4045.html
- https://column.nippoukun.bpsinc.jp/what-is-digitization/
- https://notice.go.jp/docs/status_nicter.csv
- https://www.jinji.go.jp/content/900024615.csv
- https://www.env.go.jp/content/900398071.csv
- https://www.inpit.go.jp/content/100869372.csv
- https://www.mhlw.go.jp/content/001429362.csv
相关报告

代码で語るマニフェスト:以香川县公共设施预约系统为例的技术与数据审视
以香川县公共设施预约系统为例,从API、数据格式与标准化角度检视自治体系统,给出可执行的技术改进方案与代码示例。

用代码说话的宣言:从机器可读性到API化,解读日本数字化政策的数据工程路径
从Digital庁到e-Stat,评估日本数位政策的数据交付形态,提出API化与工程化改进路线,附代码与验证示例。

コードで語るマニフェスト:日本政府データをエンジニア視点で検証する
政府のマニフェストをデータとコードで検証。PDF多用やAPI断片化を指摘し、e-StatやJapan Dashboardを例に具体的な改善案とコード例を提示します。