コードで語るマニフェスト: 일본 공공데이터와 시스템을 엔지니어링으로 읽다

IT 정책 제안
コードで語るマニフェスト: 일본 공공데이터와 시스템을 엔지니어링으로 읽다

안녕하세요~ 오카무입니다! 오늘은 일본 정부·지자체의 데이터와 시스템을 엔지니어링 관점에서 쭉 훑어볼게요. 코드로 말하면 어떤 부분이 개선 포인트인지, 실무적으로 어떻게 바꿀 수 있는지까지 다룹니다~

  • 이 글의 핵심 3줄 요약
- 중앙(デジタル庁)과 지자체의 표준화 시도는 진전이지만, 기계가 바로 쓸 수 있는 데이터 제공 수준은 곳곳에서 미흡합니다

- PDF 중심 공개, 비일관적 API·포맷, KPI 실적의 시계열 공개 미비가 주요 문제입니다

- 해결책은 CSV/JSON 우선, OpenAPI·스키마, 데이터 카탈로그·CI 도입입니다 — 구체적 코드 예제도 포함

結論

요약하면 "정책 선언은 있고, 데이터 파이프라인은 부족"한 상태예요. デジタル庁의 표준화 노력(地方公共団体の基幹業務システムの統一・標準化)과 Japan Dashboard, e-Stat 같은 자원은 큰 자산입니다. 다만 실제로 지자체가 외부에서 자동으로 수집·검증·분석할 수 있도록 기계가 읽는 형식으로 공개하는 것이 아직 충분하지 않아요. 엔지니어적으로 말하면 API·스키마·메타데이터가 없는 데이터는 '쓰려면 수작업으로 정리해야 하는' 데이터라서 가치가 반감됩니다.

レポート本文

現状の観察:ソースと問題点

これ見てくださいよ、検索結果のソース群から読み取れることを列挙します:

  • デジタル庁(digital.go.jp): 地方システムの標準化方針を掲げている。政策としては正しいけど、実装落とし込み(API仕様や公開フォーマット)は各自治体任せになりがち
  • e-Stat / Japan Dashboard: グラフやダッシュボードはあるが、すべての指標が機械可読な時系列CSV/JSONで簡単にダウンロードできるとは限らない
  • 交付金ガイドライン(PDF)や須賀川市の実績評価ページ: KPIの達成状況を示すドキュメントはあるが、PDFに埋め込み/表形式で公開されており、データ処理の自動化には不十分

要するに:政策目標と実績はあるけど、データをプログラムで引いて検証するのが面倒なんです!

技術的に問題になるポイント

  • 機械可読性の低さ(PDF中心、画像化された表)
  • APIの非一貫性(認証の有無、エンドポイント設計、レスポンスフォーマットの違い)
  • メタデータ不足(スキーマ・単位・更新頻度が明示されていない)
  • KPIの時系列不足(年次総計だけで、月次/四半期更新が無い)
  • バージョン管理・追跡の欠如(変更履歴が見えない)

具体的なコード例:PDF→CSV、APIでの取得

エンジニア的に言うと、まずは既存ドキュメントをプログラムで取り込みたいですよね。例えば Python で PDF の表を抽出して CSV に落とす基本例:

# requirements: tabula-py, pandas

import tabula

import pandas as pd

pdf_path = 'sukagawa_kpi_report.pdf'

テーブルを抽出してDataFrame化

dfs = tabula.read_pdf(pdf_path, pages='all', multiple_tables=True)

最初のテーブルをCSVに保存

if dfs:

df = dfs[0]

df.to_csv('kpi_table.csv', index=False)

APIがまともにあるなら、こうやって直接取りに行くほうが良いです:

import requests

import pandas as pd

url = 'https://api.example.gov.jp/kpi?year=2024' # 実在しない例示URL

r = requests.get(url)

r.raise_for_status()

data = r.json()

df = pd.DataFrame(data['results'])

df.to_csv('kpi_timeseries.csv', index=False)

要するに、PDFだけだと『tabulaやOCRを都度走らせる』という運用コストが発生します。CSV/JSONの一本化が重要。

KPIと実績のギャップ分析(手順)

実務でやるなら次の流れで差分を測れます:

  • 政策宣言→目標値を機械的に取り込む(目標はstructured dataで公開)
  • 実績値を時系列で取り込む(API/CSV)
  • データ品質チェック(欠損・スキーマ違反・単位ミス)
  • ギャップ計算(時点ごとの達成率、累積、ブートストラップで不確かさ評価)
  • これ、全部自動化してCIで回したら、政府の「実績評価」がぐっと再現可能になりますよね!

    改善提案(エンジニア視点で優先度つき)

  • データ公開ポリシーを"CSV/JSON primary"に変更(PDFはアーカイブ用のみ)
  • 各APIは OpenAPI 仕様で公開しておく(自動検証・SDK生成が楽)
  • CSVWやJSON-LDでスキーマを添付、単位や更新頻度を明記
  • データカタログ(CKAN等)を全国共通で利用し、メタデータを中央で横串する
  • CIパイプラインでデータ品質テストを導入(例: GitHub ActionsでCSV schema検証)
  • KPI時系列は最低月次で公開、遅延指標・早期警戒指標を分けて置く
  • 交付金や事業実績はIDを付けて参照可能に(追跡可能性向上)
  • 技術スタック例:

    • データストレージ: S3 + Parquet(分析向け)、HTTPでCSV/JSON公開
    • API: FastAPI + OpenAPI自動生成
    • カタログ: CKAN or DataHub
    • 品質テスト: great_expectations + CI

    小さいけど効く改善(実装が早い)

    • PDFに併記している表をCSVファイルとして同ページに置く
    • ダッシュボードに"Download CSV"ボタンを追加
    • メタデータファイル (metadata.json) を各公開データに添付

    まとめ

    • ポイントは「政策はある。データのパイプライン化が不足」ってことです
    • PDFベースの公開をやめて、CSV/JSON + OpenAPI + メタデータを基本にすれば、外部の検証や市民利用が劇的に増えます
    • 小さな改善(CSV添付、CSVダウンロードボタン)から始めて、段階的にCIとカタログで標準化するのが現実的です

    おかむーから一言

    スタートアップ出身のエンジニア目線で言うと、政府データはインフラなんですよ!技術で社会を変えるって、こういう"見えない改善"の積み重ねから始まるんです。まずはCSV一枚、そしてAPI一本!

    공유하기