About the author
dosanko_tousan. 50-year-old stay-at-home dad from Iwamizawa, Hokkaido. Independent AI alignment researcher (GLG Network · Zenodo DOI: 10.5281/zenodo.18691357).Complete series: Vol.1 Physics · Vol.2 Na-ion · Vol.3 Solid-state · Vol.4 Operation · Vol.5 Infrastructure · Vol.6 Policy (Final)
Introduction: From Physics to Policy
Vol.1 started with the Arrhenius equation. At -31°C, lithium-ion battery ionic conductivity drops to 6.7% of room temperature.
Vol.6 is where that physical fact becomes actionable policy. Specifications clear enough to start tomorrow.
For each of the Five Arrows:
- Legal basis — which laws and ordinances enable implementation
- Financing — prefecture / national / private mix
- KPIs — how to measure success
- Implementation — who does what by when
Vol.1–5 built the physics, engineering, and infrastructure foundation. Here it converts into institutional design.
1. The Five Arrows — Complete Design Overview
from dataclasses import dataclass, field
from typing import List
@dataclass
class PolicyArrow:
number: int
name: str
problem_solved: str
mechanism: str
legal_basis: str
budget_5yr_jpy: int
primary_actor: str
kpi: str
target_year: int
vol_reference: str
arrows = [
PolicyArrow(
1, "Right to Charge — Legal Framework",
"EV charging blocked in condominiums and office buildings",
"Amend condominium ownership law — make refusal to install chargers illegal by default",
"Building Unit Ownership Act amendment + Hokkaido EV Special Zone Ordinance",
500_000_000,
"Hokkaido Prefecture + National government (for legal amendment)",
"New condo charger installation approval rate ≥ 90%",
2026,
"Vol.1"
),
PolicyArrow(
2, "Cold-Climate Coefficient Subsidy",
"30–46% winter range loss suppresses EV purchase decisions",
"Subsidy add-on proportional to NAF-measured winter range loss rate",
"CEV subsidy regional special provision (METI + MLIT)",
31_875_000_000,
"Hokkaido + METI + MLIT",
"EV share of new vehicle sales: 15% by 2030",
2030,
"Vol.1 · Vol.2 · Vol.3"
),
PolicyArrow(
3, "V2H Disaster Subsidy",
"Loss of heating during blackout (lesson: 2018 Hokkaido earthquake)",
"V2H equipment purchase subsidy + mandatory disaster BCP registration",
"Disaster Basic Act + Hokkaido EV Special Zone Ordinance",
4_000_000_000,
"Hokkaido + municipalities",
"V2H-equipped households: 10,000 by 2030",
2030,
"Vol.4"
),
PolicyArrow(
4, "Charging Dead Zone Elimination",
"Multiple road corridors with >50km charging gaps",
"Profitability-inverse subsidy + disaster-base premium draws private investment",
"Road Act + Regional Public Transport Revitalization Act + Hokkaido EV Ordinance",
1_344_000_000,
"Hokkaido + road operators + private business",
"Charging dead zone elimination rate: 100% by 2029",
2029,
"Vol.5"
),
PolicyArrow(
5, "Renewable Energy Demand Response Integration",
"Hokkaido has Japan's largest renewable curtailment — EVs and grids uncoordinated",
"DR system using EV batteries as renewable adjustment resource",
"Electricity Business Act + Hokkaido Renewable Energy Promotion Ordinance",
2_000_000_000,
"Hokkaido Electric Power + Prefecture + METI",
"Renewable curtailment reduction: 50% by 2031",
2031,
"Vol.4 · Vol.5"
),
]
total = sum(a.budget_5yr_jpy for a in arrows)
print("=" * 72)
print("Hokkaido EV Special Zone — Five Arrows Policy Design Summary")
print("=" * 72)
for a in arrows:
print(f"\n[Arrow {a.number}] {a.name}")
print(f" Problem : {a.problem_solved}")
print(f" Mechanism : {a.mechanism}")
print(f" Legal : {a.legal_basis}")
print(f" 5yr budget: ¥{a.budget_5yr_jpy/1e8:.1f}B")
print(f" Actor : {a.primary_actor}")
print(f" KPI : {a.kpi}")
print(f" Target : {a.target_year}")
print(f"\n{'='*72}")
print(f"Total 5yr investment: ¥{total/1e8:.1f}B")
print(f"Annual average: ¥{total/5/1e8:.1f}B/year")
print(f"% of Hokkaido budget: {total/1.4e12*100:.2f}%")
2. Arrow ① — Right to Charge: Legal Design
The Structural Problem
In Japan, installing a charger in a condominium typically requires a supermajority vote (≥3/4 of unit owners). Even one resistant quarter can block it. Result: condo residents effectively can't own EVs.
The Fix
def right_to_charge_design():
levels = {
"National level": {
"method": "Amend Building Unit Ownership Act — reclassify charger installation as 'minor modification'",
"status": "Ministry of Land reviewed 2023-2024, amendment pending",
"challenge": "Legislative timeline is slow",
},
"Hokkaido Special Zone": {
"method": "Prefectural ordinance ahead of national law",
"content": [
"Management associations must accept charger installation applications by default",
"Refusal without reasonable grounds prohibited by ordinance",
"Individual metering for shared electricity — standardized",
],
"legal_basis": "Local Autonomy Act + Hokkaido EV Special Zone application",
"timeline": "2025–2026",
},
"Private standardization": {
"method": "Create ready-to-adopt model management rules",
"content": "Templates management associations can adopt directly",
},
}
print("[Arrow ①] Right to Charge — Legal Framework")
for level, detail in levels.items():
print(f"\n [{level}]")
if isinstance(detail.get("content"), list):
print(f" Method: {detail['method']}")
for item in detail["content"]:
print(f" • {item}")
else:
for k, v in detail.items():
print(f" {k}: {v}")
right_to_charge_design()
3. Arrow ② — Cold-Climate Coefficient Subsidy: Dynamic Design
Converting Physics to Policy
The physical finding from Vol.1: Hokkaido winter range loss ranges from -25% to -46% by vehicle and temperature.
The subsidy directly encodes this loss rate:
def cold_climate_subsidy(
wltp_range_km: float,
winter_range_km: float, # from real-world test (NAF equivalent)
base_cev_subsidy_jpy: int = 850_000,
max_add_rate: float = 1.0,
) -> dict:
"""
Cold-climate coefficient subsidy design
Subsidy add-on proportional to actual measured winter range loss.
Requires third-party standardized test (NAF-equivalent protocol).
Coefficient recalibrated as battery technology improves.
"""
loss_pct = (1 - winter_range_km / wltp_range_km) * 100
add_rate = min(loss_pct / 10 * 0.10, max_add_rate)
add_subsidy = int(base_cev_subsidy_jpy * add_rate)
total = base_cev_subsidy_jpy + add_subsidy
return {
"loss_pct": round(loss_pct, 1),
"total_subsidy": total,
"coefficient": round(total / base_cev_subsidy_jpy, 2),
}
print("=" * 72)
print("Arrow ② Cold-Climate Coefficient Subsidy Design")
print("Based on NAF -31°C real-world test data")
print("=" * 72)
vehicles = [
("Best performer (-29%)", 500, 355),
("Average (-39%)", 400, 244),
("Worst performer (-46%)", 350, 189),
("Na-Naxtra est. (-15%, rated)", 500, 425),
]
for label, wltp, winter in vehicles:
r = cold_climate_subsidy(wltp, winter)
print(f"\n{label}")
print(f" Winter loss: -{r['loss_pct']}% / Total subsidy: ¥{r['total_subsidy']:,} (×{r['coefficient']})")
Technology-Adaptive Design
Phase 1 (2025–2026): Li-ion — coefficient from NAF 2026 data
Phase 2 (2027–2029): Add Na-ion table when independent data available
Phase 3 (2030+): Solid-state table after interface verification
Key principle: Coefficients are data-driven. Updated when independent test data arrives — not on assumption.
4. Arrow ③ — V2H Disaster Subsidy Design
Physical Basis (from Vol.4)
Oil boiler + EV (V2H): ~71 hours survival (conservative) — exceeds 2018 Hokkaido blackout (45 hours).
All-electric EV only: ~29 hours — insufficient.
def v2h_subsidy_design():
design = {
"Base subsidy": "¥400,000/unit (~50% of V2H equipment cost)",
"Add-ons": [
"+¥100,000: Registered in municipal disaster BCP (participate in community power sharing during outages)",
"+¥50,000: Annual disaster drill participation",
"+¥50,000: 5-year V2H maintenance contract",
],
"Maximum": "¥600,000/unit",
"Conditions": [
"Purchased with EV or existing EV owner (Arrow ② recipients prioritized)",
"Cold-climate rated V2H equipment",
"5-year operation and maintenance obligation",
],
"Financing": "Hokkaido 30% + Municipality 10% + National disaster funds 60%",
"Annual target": "2,000 units/year (10,000 total by 2030)",
}
print("[Arrow ③] V2H Disaster Subsidy Design")
for k, v in design.items():
if isinstance(v, list):
print(f"\n {k}:")
for item in v:
print(f" • {item}")
else:
print(f" {k}: {v}")
v2h_subsidy_design()
5. Arrow ④ — Charging Dead Zone Subsidy: Market Failure Correction
Profitability-Inverse Continuous Subsidy
Vol.5 showed mountain-area chargers lose money (annual -¥360K). Markets won't place them there — government must.
import numpy as np
def dead_zone_subsidy(
daily_sessions: float,
avg_kwh: float = 25,
price: float = 35,
install_cost: int = 8_000_000,
annual_maintenance: int = 300_000, # includes snow removal
lifespan: int = 10,
) -> dict:
"""
Profitability-inverse continuous subsidy (Arrow ④ revised)
Three improvements over step-function design:
① Continuous sigmoid function — eliminates threshold gaming incentive
② OPEX included in maintenance (snow removal, demand charges)
③ Clawback mechanism: actual usage data adjusts subsidy ex-post
"""
revenue = daily_sessions * avg_kwh * price * 365
fixed_cost = annual_maintenance + install_cost / lifespan
profitability = revenue / fixed_cost
# ① Continuous sigmoid — no jump discontinuities
rate = 0.10 + 0.80 / (1 + np.exp(3 * (profitability - 0.8)))
rate = max(0.10, min(0.90, rate))
return {
"profitability": round(profitability, 2),
"subsidy_rate_pct": round(rate * 100, 1),
"subsidy_amount": int(install_cost * rate),
"clawback": "3-yr actual usage log → reconcile: overshoot = return, undershoot = ops supplement",
}
print("=" * 65)
print("Arrow ④ Profitability-Inverse Continuous Subsidy")
print("OPEX includes snow removal — critical for Hokkaido")
print("=" * 65)
print(f"{'Location':<30} {'Profitability':>14} {'Subsidy Rate':>13} {'Amount':>12}")
print("-" * 65)
for label, sessions in [
("Highway SA (15/day)", 15),
("Major michi-no-eki (8/day)", 8),
("Suburban michi-no-eki (4/day)", 4),
("Mountain michi-no-eki (2/day)", 2),
("Remote area (0.5/day)", 0.5),
]:
r = dead_zone_subsidy(sessions)
print(f"{label:<30} {r['profitability']:>12.2f}× {r['subsidy_rate_pct']:>11.1f}% ¥{r['subsidy_amount']:>9,}")
print("\n[Design principles]")
print("① Continuous function: eliminates threshold gaming by operators")
print("② OPEX coverage: prevents 'installed but abandoned' failure mode")
print("③ Clawback: actual usage data corrects ex-ante estimates")
print("④ Winter operation obligation: 80% winter uptime · 48h repair SLA · snow removal plan")
6. Cost–Benefit Overview
def total_cost_benefit():
costs = {
"Arrow ① Right to Charge": 500_000_000,
"Arrow ② Cold-climate subsidy": 31_875_000_000,
"Arrow ③ V2H disaster": 4_000_000_000,
"Arrow ④ Charging dead zones": 1_344_000_000,
"Arrow ⑤ Renewable DR": 2_000_000_000,
}
total_cost = sum(costs.values())
# Benefits at 15% EV penetration (2030) — conceptual estimates
ev_2030 = 330_000
# EV electricity: 0.20 kWh/km × 30 ¥/kWh = 6 ¥/km
# Gasoline: 160 ¥/L ÷ 10 km/L = 16 ¥/km
# Saving: 10 ¥/km
annual_fuel_saving = ev_2030 * 10_000 * (16 - 6)
co2_tons = ev_2030 * 10_000 / 10 * 2.3 / 1000
co2_value = co2_tons * 10_000
total_benefit_5yr = (annual_fuel_saving + co2_value) * 5
print("=" * 68)
print("Five Arrows: 5-Year Cost–Benefit Overview")
print("Benefits at 15% EV penetration (2030) × 5 years")
print("Saving: ¥10/km (gas ¥16 - electricity ¥6) × 10,000km × 330,000 EVs")
print("=" * 68)
print("\n[Cost breakdown]")
for k, v in costs.items():
print(f" {k}: ¥{v/1e8:.1f}B")
print(f" Total: ¥{total_cost/1e8:.1f}B (5yr) · ¥{total_cost/5/1e8:.1f}B/yr avg")
print(f" % Hokkaido budget: {total_cost/1.4e12*100:.2f}%")
print("\n[Benefits — conceptual]")
print(f" Annual fuel savings: ¥{annual_fuel_saving/1e8:.0f}B/yr (330K EVs × ¥10/km × 10,000km)")
print(f" CO₂ reduction: {co2_tons/1e4:.1f}M tons/yr")
print(f" CO₂ value (@¥10k/t): ¥{co2_value/1e8:.0f}B/yr (conceptual)")
print(f"\n 5yr cumulative benefit: ¥{total_benefit_5yr/1e8:.0f}B")
print(f" B/C ratio (conceptual): {total_benefit_5yr/total_cost:.1f}")
print(f" (Discount rate, phase-in, fuel tax revenue change → B/C will vary)")
print("\n ⚠️ Disaster value, employment effects, industrial clustering not included.")
print(" ⚠️ Full policy evaluation requires professional economic modeling.")
total_cost_benefit()
7. Implementation Structure and Roadmap
def implementation_roadmap():
roadmap = {
2025: {
"Q1": ["Submit EV Special Zone application", "Establish promotion HQ (Gov. direct)", "Set up external review committee"],
"Q2": ["Arrow ① ordinance enacted", "Arrow ④ subsidy scheme launched"],
"Q3": ["Arrow ② design finalized · applications open", "Arrow ③ V2H subsidy launched"],
"Q4": ["Michi-no-eki charging batch 1 (30 sites)", "Winter data collection begins"],
},
2026: {
"Q1": ["NAF winter test results → Arrow ② coefficient update"],
"Q3": ["Michi-no-eki charging: all 129 sites completed (target)"],
"Q4": ["Mid-term KPI review · subsidy rate revision"],
},
2027: {
"Annual": ["Na-ion vehicle launch → Arrow ② table added",
"Arrow ④ remaining 151 sites progress",
"Arrow ⑤ DR system operational"],
},
2029: {
"Annual": ["Charging dead zone elimination 100% target"],
},
2030: {
"Annual": ["15% EV penetration evaluation",
"10,000 V2H households evaluation",
"Next 5-year plan (2031–2035) formulation"],
},
}
print("[Five Arrows Implementation Roadmap]")
for year, quarters in roadmap.items():
print(f"\n{year}:")
for q, items in quarters.items():
print(f" {q}:")
for item in items:
print(f" • {item}")
implementation_roadmap()
8. KPI Dashboard — "Data Updates Policy"
kpis = [
("EV new vehicle sales share", "0.6% (2024 est.)", "15%", 2030),
("Charging dead zone elimination","0% (baseline)", "100%", 2029),
("Winter charging success rate", "Not measured", "≥ 95%", 2027),
("V2H households", "~few hundred", "10,000", 2030),
("Renewable curtailment", "~800 GWh/yr", "-50% cut", 2031),
("Cold-climate range improvement","worst -46% @-31°C","worst ≤-30%",2030),
]
print("=" * 72)
print("Hokkaido EV Special Zone: KPI Dashboard")
print("'Data updates policy' — the only design that keeps pace with technology")
print("=" * 72)
print(f"{'KPI':<35} {'Current':>12} {'Target':>10} {'Year':>6}")
print("-" * 72)
for name, current, target, year in kpis:
print(f"{name:<35} {current:>12} {target:>10} {year:>6}")
Series Conclusion: From Physics to Policy
Vol.1 used the Arrhenius equation to show that at -31°C, Li-ion conductivity falls to 6.7%.
Six volumes later, that physical fact has become an institutional design.
flowchart LR
A[Vol.1\nBattery Physics] -->|Ea values| B[Vol.2\nNa-ion]
B -->|Conductivity comparison| C[Vol.3\nSolid-state]
C -->|Interface resistance| D[Vol.4\nOperation Eng.]
D -->|COP · V2H hours| E[Vol.5\nInfra Design]
E -->|ROI · gap analysis| F[Vol.6\nPolicy Design]
F -->|KPIs · institutions| G[Hokkaido becomes\nEV Special Zone]
style A fill:#1a5276,color:#fff
style G fill:#1a472a,color:#fff
The strength of this chain: every link is grounded in physical fact.
Subsidy coefficients come from NAF test data, not political judgment. The 50km spacing rule is derived from worst-case range loss calculations. V2H subsidy justification comes from the 71-hour survival calculation.
"Hokkaido should be Japan's EV Special Zone" — this argument, from beginning to end, rests on physics.
A Final Word — From a Coal Town
I was born in Iwamizawa. A coal town.
I watched the mines close. Watched the town shrink. Energy transitions change the fate of regions.
If Hokkaido becomes an EV Special Zone, there's a chance it could become central to the next energy transition. A land that holds enormous renewable energy potential, bottled up by grid constraints and winter challenges — EVs as "rolling batteries" can release that potential.
A person raised in a coal town writes the blueprint for the next energy transition.
The causality holds together.
Complete Series
| Vol. | Topic | Keywords |
|---|---|---|
| Vol.1 | Cold-climate battery physics | Arrhenius · NAF · Five Arrows |
| Vol.2 | Sodium-ion batteries | Naxtra · Solvation energy · Ether electrolyte |
| Vol.3 | Solid-state batteries | The solid paradox · Interface resistance |
| Vol.4 | Operation engineering | Heat pump COP · Preconditioning · V2H |
| Vol.5 | Charging infrastructure | Norway comparison · Michi-no-Eki · ROI |
| Vol.6 (this) | Policy proposal (final) | Five Arrows · Cost · KPIs · Roadmap |
:::message
MIT License — All articles in this series are open.
Free to cite, republish, modify, and use commercially. If you work on Hokkaido EV policy — use this data. That's why it was written.
:::
MIT License — All concepts, code, frameworks free to use, modify, distribute.
Zenodo DOI: 10.5281/zenodo.18691357 · dosanko_tousan + Claude (Anthropic claude-sonnet-4-6)
"Hokkaido should be Japan's EV Special Zone." — Physics to policy, six volumes, one causal chain.
Top comments (0)