Code Speaks: Auditing Japan's Local Open Data and Digital Grants

IT Policy Proposals
Code Speaks: Auditing Japan's Local Open Data and Digital Grants

どうも〜おかむーです! Today I want to take a technical look at how Japanese central and local governments publish data and run digital grant programs — with a focus on machine-readability, APIs, KPI plumbing, and practical fixes you can actually implement.

  • This piece inspects real sources: Tokyo Open Data Catalog, prefectural PDF reports, and the Digital Agency's UI guidance
  • Main finding: lots of data exists, but PDFs and inconsistent formats block programmatic use and KPI automation
  • Practical fixes: normalize formats (CSV/JSON/Schema), provide APIs, add dataset CI and KPI time series endpoints

結論

Public-sector data in Japan is improving (see portal.data.metro.tokyo.lg.jp and local portals), but many operational datasets and grant evaluations are locked in PDFs or inconsistent CSVs. エンジニア的に言うと、データのオンランタイムがないためKPIの継続的検証ができない。要するに「データはあるけど使えない」という状態です。

Report

What I looked at

  • Tokyo Open Data Catalog (portal.data.metro.tokyo.lg.jp / catalog.data.metro.tokyo.lg.jp): clear catalog, many CSVs
  • Local portals (saitama, Chuo ward): generally CSV-first policy but mixed Excel and PDFs
  • Digital Rural City grant guidance and reports (chisou.go.jp): KPI frameworks exist but evaluation reports published as PDF (see Yamaguchi example)
  • Digital Agency UI guidance (digital.go.jp): good on UX, but less prescriptive about API-first data publishing

Problems I find (concrete)

  • PDF-first reporting: grant performance and evaluations often in PDFs (chisou.go.jp, pref PDFs). Programmatic extraction requires OCR/Tabula and is brittle.
  • Inconsistent schemas: same KPI named differently across municipalities, missing data dictionaries.
  • Lack of stable APIs: catalogs have download links but few provide a stable JSON API for time-series KPIs or metadata endpoints.
  • Metadata gaps: missing provenance, last-updated timestamps, and licensing in some datasets.

これ見てくださいよ — a typical workflow friction:

1) You want quarterly KPI time series for a grant-funded project

2) You find a PDF report with a table (chisou.go.jp / uploaded PDF)

3) You run tabula or copy-paste, then manually normalize columns and units

4) Repeat next quarter — painful and error-prone

Quick technical blueprint (code example)

# example: fetch a CSV if available, otherwise fallback to PDF extraction

import requests

import pandas as pd

csv_url = "{dataset_csv_url}"

res = requests.get(csv_url)

res.raise_for_status()

df = pd.read_csv(pd.compat.StringIO(res.text))

normalize column names

df.columns = [c.strip().lower().replace(' ', '_') for c in df.columns]

compute KPI gap

df['kpi_gap'] = df['target'] - df['actual']

print(df[['year_quarter','target','actual','kpi_gap']].tail())

If the source is PDF, use tabula-py or camelot to extract tables, then run the same normalization pipeline. 要するに、安定したCSV/JSON endpointsがあればこのコードはすぐ動くということです。

Recommendations (concrete, prioritized)

  • API-first datasets: publish KPIs and time-series as JSON/CSV with stable endpoints and pagination
  • Schema registry: use a central schema (JSON Schema) per dataset type (e.g., grant_kpi_v1)
  • Dataset CI & tests: run nightly checks for schema conformance, completeness, and drift
  • Machine-readable provenance: include created_at, updated_at, source_document (URL), and license
  • UI + developer experience: link interactive API docs from portal pages; include sample curl/pandas snippets
  • Cross-municipal KPI harmonization: central guidance (chisou.go.jp) should publish canonical KPI names and units

まとめ

Japan has real momentum: portals like Tokyo's catalog are solid foundations. But PDFs, ad-hoc CSVs, and missing APIs make continuous programmatic evaluation hard. Small engineering practices — schema, APIs, dataset CI — unlock huge gains: automated KPI tracking, reproducible audits, and faster policymaking.

おかむーから一言

As an entrepreneur-engineer, I want public data to be as dev-friendly as an API from your favorite SaaS. Tech can make governance measurable — let's ship it!🔥