CAPLOGUEキャプローグ

住みやすい街ランキング › 街評価アルゴリズム

街評価アルゴリズム

全国 220,811 の町丁目に、世代別のスコアを付けて 市区町村まで畳むための決めごと。係数を1つ残らずここに出します。v1.4・MIT ライセンス・2026-09-07 計算

順位そのものには、意味はほとんどありません。意味があるのは、どういう物差しで測ったかを全部見せることのほうです。 係数を1つ変えれば順位は動きます。 だから係数を隠したランキングは、作った人の好みを数字の形にしただけのものになります。

納得できないなら、下に置いてあるソースのspec.py を書き換えて、自分で回してください。 そのために置いています。

測り方

  1. 測る単位は町丁目(全国 220,811 区画)。 市区町村は町丁目を足したものです。
  2. 各町丁目について 63 の生の指標を出します。 ほとんどは「重心からいちばん近い〇〇までの距離」と「半径〇〇m 以内の数」です。
  3. 生の指標を人口で重み付けした百分位で 0〜100 に直します。 ただの順位ではありません。20万区画の多くは人の住んでいない山あいなので、 順位のままだと「駅から3km」が全国の真ん中あたりに見えてしまいます。
  4. 百分位を 18 の観点にまとめます。
  5. 観点を世代ごとの重みで足して、町丁目の世代別スコアにします。
  6. 市区町村のスコアは、その市区町村の町丁目を人口で重み付けして平均したものです。面積で割らないのは、市域の9割が山でも、 住んでいる場所が便利ならその市は住みやすいからです。

先に断っておくこと

この物差しが主に測っているのは、歩いて行ける範囲に何があるかです。63 の指標の大半が「いちばん近い〇〇までの距離」と 「半径〇〇m 以内の数」なので、地価・みどり・災害・治安・気象を重みに入れても、上位は都心の区で埋まります。

これは調整し忘れではなく、この測り方の性質です。 別の見方を採りたいなら、別の物差しが要ります。

世代ごとの重み

ここがいちばん恣意的なところです。だから隠さずに全部出します。根拠は「その世代が街に何を求めるか」という一般論であって、 アンケートや統計から導いたものではありません。

観点若者子育て世帯高齢者
鉄道0.140.040.03
バス0.030.020.07
買い物0.090.080.13
外食0.090.020.02
医療0.040.060.18
子育て00.110
教育00.130
介護000.15
公園・みどり0.020.070.05
治安・安全0.060.100.07
災害への強さ0.050.070.07
住居費の安さ0.110.050
地形0.020.020.09
将来の人口0.050.020.02
都市の濃さ0.0800
気候0.030.040.07
仕事と収入0.140.110.03
遊びに行ける場所0.050.060.04
合計1.001.001.00
若者
ひとり暮らし・共働きで子どものいない世帯。20〜30代を想定。勤め先と賃金、通勤と外出のしやすさ、家賃、街のにぎわいを重く見る。学校・介護は生活に入ってこないので 0 にした
子育て世帯
小学生以下の子どもがいる世帯。学校までの近さ、小児科、事故と犯罪の少なさ、遊べる場所を重く見る。外食と都市の濃さはほとんど効かないと置いた
高齢者
65 歳以上。運転をやめたあとの暮らしを想定。医療と介護、歩いて行ける買い物、坂の少なさ、バスを重く見る。住居費は持ち家が多く効き方が読めないので 0 にした
総合
3世代(若者・子育て世帯・高齢者)のスコアの単純平均。実際の人口構成で重み付けすると、 高齢者の多い国では高齢者向けの街が自動的に上位に来ます。 それは評価ではなく人口統計です。

観点のなかの重み

18 の観点は、それぞれ生の指標を足して作っています。 観点のなかの重みは合計 1.00 です。

観点生の指標(重み)
鉄道最寄り駅までの距離 0.60 1km 以内の駅の乗降客数 0.40
バス最寄りバス停までの距離 0.65 500m 以内のバス系統数 0.35
買い物最寄りスーパーまでの距離 0.34 最寄りコンビニまでの距離 0.19 1km 以内の店の数 0.18 可住地 1km² あたりの食料品店の数 0.15 最寄りドラッグストアまでの距離 0.14
外食最寄り飲食チェーンまでの距離 0.60 可住地 1km² あたりの飲食店の数 0.40
医療最寄り診療所までの距離 0.20 1km 以内の診療所の数 0.18 最寄り薬局までの距離 0.15 住民千人あたりの病床数 0.15 最寄り病院までの距離 0.12 最寄りの内科までの距離 0.10 最寄りの 100 床以上の病院までの距離 0.10
子育て最寄りの小児科までの距離 0.33 3km 以内の小児科の数 0.18 未就学児千人あたりの保育所等の数 0.18 最寄り幼稚園・こども園までの距離 0.16 子ども医療費助成の対象年齢(通院) 0.15
教育最寄り小学校までの距離 0.45 最寄り中学校までの距離 0.30 最寄り高校までの距離 0.25
介護最寄り介護事業所までの距離 0.32 3km 以内の介護事業所の数 0.24 最寄りの入居・入所系介護施設までの距離 0.24 65歳以上千人あたりの介護施設の定員 0.20
公園・みどり緑地・農地の割合 0.40 最寄り公園までの距離 0.25 最寄りの 1ha 以上の公園までの距離 0.20 500m 以内の公園の数 0.15
治安・安全窃盗の認知件数(住民千人あたり・年) 0.35 人身事故の件数(住民千人あたり・年) 0.30 最寄り交番・駐在所までの距離 0.20 最寄り消防拠点までの距離 0.15
災害への強さ想定最大規模の洪水浸水域にかかる割合 0.35 土砂災害警戒区域にかかる割合 0.25 最寄りの指定緊急避難場所までの距離 0.25 津波浸水想定区域にかかる割合 0.15
住居費の安さ近傍の住宅地の地価(円/m²) 1.00
地形傾斜 5 度以上の面積の割合 1.00
将来の人口2050 年の人口 ÷ 2020 年の人口 0.65 転入者数 ÷ 転出者数 0.35
都市の濃さ人口密度(人/km²) 0.65 人口集中地区に入るか 0.35
気候猛暑日の日数(年) 0.22 熱帯夜の日数(年) 0.20 降雪量の合計(cm・年) 0.20 冬日の日数(年) 0.16 雨の日の数(年) 0.12 台風の接近数(年) 0.10
仕事と収入働きに来る人 ÷ 住んでいる働く人 0.22 1人あたりの課税対象所得(千円) 0.22 3km 以内の法人の数 0.18 完全失業率 0.15 正規雇用の割合 0.13 地域別最低賃金(円) 0.10
遊びに行ける場所自然公園までの距離 0.40 主な山までの距離 0.30 市区町村内の海水浴場の数 0.30

6つの分類

市区町村のページに出している6角形は、18 の観点を6つにまとめたものです。まとめ方(どの観点をどの分類に入れるか)だけは こちらで決めていますが、分類の中での重みに新しい係数は1つも作っていません。上の世代3つの重みを平均し、その分類に入る観点だけで割り直した値です。だから、6角形の形は世代を切り替えても変わりません。観点のスコアは街そのものの性質で、世代の重みは「それをどれだけ重く見るか」だからです。

分類観点(分類の中での重み)
まちの便利さ買い物 0.36 鉄道 0.25 バス 0.15 外食 0.14 都市の濃さ 0.09
医療と介護医療 0.66 介護 0.34
子育てと教育教育 0.55 子育て 0.45
安全治安・安全 0.55 災害への強さ 0.45
住まいと自然住居費の安さ 0.28 公園・みどり 0.26 気候 0.25 地形 0.22
仕事と活気仕事と収入 0.55 遊びに行ける場所 0.29 将来の人口 0.16
まちの便利さ
毎日の移動と買い物。都市の濃さもここに入れています。人が多い街ほど店も路線も増えるので、切り離すと同じことを2回数えます
医療と介護
かかりつけから大きな病院まで、それに介護の事業所と施設
子育てと教育
小児科・保育・医療費助成と、小中高までの近さ
安全
犯罪と交通事故の少なさ、浸水・土砂・津波の危険の低さ、避難所の近さ
住まいと自然
住居費の安さ、みどりの多さ、坂の少なさ、天気の負担の軽さ。住み心地そのもので、便利さとは別に見ます
仕事と活気
勤め先と収入、人口が減りにくいこと、遊びに行ける場所。その街がこれから先どうかを見る3つをまとめています

生の指標 63 と、その出どころ

「大きいほど良い」か「小さいほど良い」かも出します。ここを1つ間違えるとスコアが反転して、しかも数字を見ても気づけません。

測るもの向き使う観点もとのデータ
最寄り駅までの距離
直線距離。歩いた距離ではない
小さいほど良い鉄道国土数値情報 S12 駅別乗降客数
1km 以内の駅の乗降客数
駅の規模。乗換の多さの代わりに使う
大きいほど良い鉄道国土数値情報 S12
最寄りバス停までの距離小さいほど良いバス国土数値情報 P11 バス停留所
500m 以内のバス系統数
便数ではなく系統の数
大きいほど良いバス国土数値情報 P11
最寄りスーパーまでの距離
入っているのはチェーン 321 社。個人商店は入っていない
小さいほど良い買い物CAPLOGUE 暮らしの店(チェーン各社の公式サイト)
最寄りコンビニまでの距離
大手9社すべてが入っている
小さいほど良い買い物CAPLOGUE 暮らしの店
最寄りドラッグストアまでの距離小さいほど良い買い物CAPLOGUE 暮らしの店
最寄り飲食チェーンまでの距離
チェーン 30 社。個人店は入っていない
小さいほど良い外食CAPLOGUE 暮らしの店
1km 以内の店の数大きいほど良い買い物CAPLOGUE 暮らしの店
可住地 1km² あたりの食料品店の数
個人商店を含む。市区町村ごとの数なので、同じ市の町丁目はすべて同じ値になる
大きいほど良い買い物e-Stat 社会・人口統計体系(経済センサス)
可住地 1km² あたりの飲食店の数
個人店を含む。市区町村ごとの数なので、同じ市の町丁目はすべて同じ値になる
大きいほど良い外食e-Stat 社会・人口統計体系(経済センサス)
最寄り診療所までの距離小さいほど良い医療厚労省 医療情報ネット
最寄り病院までの距離
病床を持つ医療機関
小さいほど良い医療厚労省 医療情報ネット
最寄りの 100 床以上の病院までの距離
救急の受け入れ先の代わりに使う
小さいほど良い医療厚労省 医療情報ネット
最寄り薬局までの距離小さいほど良い医療厚労省 医療情報ネット
1km 以内の診療所の数
選べるかどうか
大きいほど良い医療厚労省 医療情報ネット
最寄りの小児科までの距離小さいほど良い子育て厚労省 医療情報ネット(診療科目 03001)
3km 以内の小児科の数大きいほど良い子育て厚労省 医療情報ネット
最寄りの内科までの距離小さいほど良い医療厚労省 医療情報ネット(診療科目 01001)
住民千人あたりの病床数
病院と一般診療所の合計。距離では分からない「行った先の大きさ」を見る。市区町村ごとの数なので、同じ市の町丁目はすべて同じ値になる
大きいほど良い医療e-Stat 社会・人口統計体系(医療施設調査)
最寄り小学校までの距離
通学区域ではない。その学校に通えるとは限らない
小さいほど良い教育文科省 学校コード一覧
最寄り中学校までの距離小さいほど良い教育文科省 学校コード一覧
最寄り幼稚園・こども園までの距離
保育所は入っていない(学校ではないので学校コードに無い)
小さいほど良い子育て文科省 学校コード一覧
最寄り高校までの距離小さいほど良い教育文科省 学校コード一覧
子ども医療費助成の対象年齢(通院)
市区町村ごとの制度。町丁目では変わらない
大きいほど良い子育てこども家庭庁 乳幼児等医療費援助の実施状況
未就学児千人あたりの保育所等の数
入れるかどうかではなく、あるかどうか。待機児童の数は市区町村ごとに数え方が違うので使っていない。市区町村ごとの数なので、同じ市の町丁目はすべて同じ値になる
大きいほど良い子育てe-Stat 社会・人口統計体系(福祉行政報告例)
最寄り介護事業所までの距離小さいほど良い介護厚労省 介護サービス情報公表システム ほか
3km 以内の介護事業所の数大きいほど良い介護厚労省 介護サービス情報公表システム ほか
最寄りの入居・入所系介護施設までの距離小さいほど良い介護厚労省 介護サービス情報公表システム ほか
65歳以上千人あたりの介護施設の定員
特別養護老人ホームと介護老人保健施設の定員。介護医療院はこの統計に定員の欄が無いので入っていない(全国で約1万人)。市区町村ごとの数なので、同じ市の町丁目はすべて同じ値になる
大きいほど良い介護e-Stat 社会・人口統計体系(介護サービス施設・事業所調査)
最寄り公園までの距離小さいほど良い公園・みどり国土数値情報 P13 都市公園
500m 以内の公園の数大きいほど良い公園・みどり国土数値情報 P13
最寄りの 1ha 以上の公園までの距離小さいほど良い公園・みどり国土数値情報 P13
緑地・農地の割合
森林・農地・その他緑地の合計(%)
大きいほど良い公園・みどり国土数値情報 L03-b 土地利用細分メッシュ
窃盗の認知件数(住民千人あたり・年)
窃盗7手口に限る。直近3年とその前の3年を 1 対 0.5 で混ぜた(→ CRIME_W)。配っている年が少ない県は、ある塊だけで数える
小さいほど良い治安・安全各都道府県警察 犯罪発生マップ
人身事故の件数(住民千人あたり・年)小さいほど良い治安・安全警察庁 交通事故統計情報
最寄り交番・駐在所までの距離小さいほど良い治安・安全国土数値情報 P18 消防・警察
最寄り消防拠点までの距離小さいほど良い治安・安全国土数値情報 P18
想定最大規模の洪水浸水域にかかる割合小さいほど良い災害への強さハザードマップポータル 重ねるハザードマップ
土砂災害警戒区域にかかる割合
指定予定も含む
小さいほど良い災害への強さハザードマップポータル
津波浸水想定区域にかかる割合小さいほど良い災害への強さハザードマップポータル
最寄りの指定緊急避難場所までの距離小さいほど良い災害への強さ国土地理院 指定緊急避難場所データ
近傍の住宅地の地価(円/m²)
安いほど高いスコアにしている。住むための費用として見ているため
小さいほど良い住居費の安さ国土交通省 地価公示・都道府県地価調査
傾斜 5 度以上の面積の割合
坂の多さ
小さいほど良い地形国土地理院 標高タイル(自前で計算)
2050 年の人口 ÷ 2020 年の人口大きいほど良い将来の人口国土数値情報 将来推計人口 250m メッシュ(令和6年推計)
転入者数 ÷ 転出者数
推計ではなく、去年ほんとうに起きた出入り。1 を超えるほど人が入ってきている。市区町村ごとの数なので、同じ市の町丁目はすべて同じ値になる
大きいほど良い将来の人口e-Stat 社会・人口統計体系(住民基本台帳)
人口密度(人/km²)
都市の度合い。高いほど良いと決めているのは若者の観点だけ
大きいほど良い都市の濃さ令和2年国勢調査 小地域 + 国土数値情報
人口集中地区に入るか
0 か 1
大きいほど良い都市の濃さ国土数値情報 A16 人口集中地区
猛暑日の日数(年)
日最高気温 35℃以上の日。近い3観測所の逆二乗で町丁目に配ったもの
小さいほど良い気候気象庁 過去の気象データ(月別値・直近24か月)
熱帯夜の日数(年)
日最低気温 25℃以上の日。夜に気温が下がらない日の数
小さいほど良い気候気象庁 過去の気象データ(月別値・直近24か月)
冬日の日数(年)
日最低気温 0℃未満の日。路面の凍結と暖房の要る日
小さいほど良い気候気象庁 過去の気象データ(月別値・直近24か月)
降雪量の合計(cm・年)
雪を測っている観測所は全体の3割で、雪の多い地方に偏っている。いちばん近い観測所が 100km より遠い町丁目(沖縄と南西諸島の2,246 区画)はこの項目を空にした。0 cm では混ぜていない(降らないのか測っていないのかは別のこと)
小さいほど良い気候気象庁 過去の気象データ(月別値・直近24か月)
雨の日の数(年)
日降水量 1mm 以上の日
小さいほど良い気候気象庁 過去の気象データ(月別値・直近24か月)
台風の接近数(年)
中心が 300km 以内に入った台風の数。ここだけ 2016〜2025 の10年平均。2年では年ごとの当たり外れを並べることになる
小さいほど良い気候気象庁 RSMC 東京 ベストトラック
働きに来る人 ÷ 住んでいる働く人
1 を超えるほど、外から働きに来る街。通勤の楽さではない
大きいほど良い仕事と収入令和2年国勢調査(従業地・常住地別の就業者数)
1人あたりの課税対象所得(千円)
納税義務者1人あたり。世帯の収入でも平均賃金でもない。政令市の区には市の値を入れてある(もとの記録が市の単位のため)
大きいほど良い仕事と収入総務省 市町村税課税状況等の調(2024年度)
3km 以内の法人の数
登記の住所であって、働く場所ではない。本社が1か所に集まる街では多く出る。町丁目ごとの社数を重心に置いて足したもの
大きいほど良い仕事と収入CAPLOGUE 全法人(gBizINFO 基本情報)
完全失業率
完全失業者 ÷ 労働力人口
小さいほど良い仕事と収入令和2年国勢調査(労働力状態)
正規雇用の割合
正規の職員・従業員 ÷ 雇用者
大きいほど良い仕事と収入令和2年国勢調査(雇用形態)
地域別最低賃金(円)
都道府県ごと。県の中では同じ数になる
大きいほど良い仕事と収入厚生労働省 地域別最低賃金の全国一覧(令和7年度)
自然公園までの距離
国立・国定・都道府県立の自然公園。区域の中なら 0。もとの記録に公園名も国立/国定の別も入っていない
小さいほど良い遊びに行ける場所国土数値情報 A10 自然公園地域
主な山までの距離
1,059 山。50km より遠い町丁目はこの項目を空にした
小さいほど良い遊びに行ける場所国土地理院 日本の主な山岳標高
市区町村内の海水浴場の数
緯度経度が無く市区町村までしか分からないので、町丁目ごとには分けられない。政令市は市の数を区ぜんぶに持たせてある。0 は「無い」という測れた事実(欠測ではない)
大きいほど良い遊びに行ける場所環境省 水浴場水質調査結果(令和8年度)

測っていないもの

無いものを推し量ってスコアにしません。次の 12 件は、スコアに一切入っていません。

街の雰囲気・住民の質・ブランド
データが無い。人が語ったものを集めても、それは評価ではなく評判になる
家賃・分譲価格
全国を同じ物差しで採れる出典が無い。地価(公示地価・基準地価)で代用している
保育所がどこにあるか・学童
保育所等の数は市区町村ごとに入れた(未就学児千人あたり)。ただし1か所ずつの場所は分からない。学校コードに載らないので学びの窓口に入っておらず、保育所までの距離は測れていない。学童(放課後児童クラブ)は数も入っていない
通学区域で実際に通える学校
小中の通学区域は学びの窓口に入っているが、出典が『公式な資料としては扱えない』と断っているので、スコアには使わない
個人商店・地元スーパーがどこにあるか
個人店を含めた数は市区町村ごとに入れた(可住地1km²あたりの食料品店・飲食店)。ただし1軒ずつの場所は分からないので、距離のほうはチェーン 321 社のまま。商店街のある街は、距離の指標では低く出る
刑法犯全体の件数
測れているのは各都道府県警察が公開している窃盗の7手口だけで、事件のあった町丁目にしか入っていない。市区町村ごとの刑法犯認知件数は、全国を1つにまとめた出典が無い(e-Stat 社会・人口統計体系の `K4201` は2008年で止まり150市区分しかない。警察庁の犯罪統計は都道府県までしか下りない)。47の都道府県警察に1件ずつ当たれば作れるが、まだ作っていない
その町丁目の仕事と収入
『仕事と収入』の 6 つのうち 5 つは市区町村・都道府県の値で、同じ市の町丁目はすべて同じ数になる。町丁目ごとに分かるのは近くの法人の数だけで、それも登記の住所であって働く場所ではない
世帯の収入・平均賃金
全国の市区町村を同じ物差しで採れる出典が無い。課税対象所得(納税義務者1人あたり)と最低賃金で代用している。課税対象所得は世帯の収入ではなく、納めた人1人あたりの額
動物園・水族館・遊園地
全国を同じ物差しで採れる出典が無い。日本動物園水族館協会の名簿に住所が無く、国土数値情報 P12 観光施設は名称の列が 19,140 件中 18,481 件空で、名前で当てても 140 件中 31 件しか当たらない。遊園地は公的な一覧そのものが無い。推測で埋めるより、測っていないと書くほうがよい
気温そのものの好き嫌い
暑いのと寒いののどちらが良いかは決められないので、平均気温をスコアにしていない。スコアにしたのは猛暑日・熱帯夜・冬日・雪・雨・台風という、どちらの好みでも負担になるものだけ
山あいの町丁目の気候
気温は標高差で補正しているが、猛暑日などの日数は補正していない。『2℃低いなら猛暑日は何日減るか』は分布を仮定しないと出せず、仮定で作った数字を実測と同じ顔で並べるほうが害が大きい。麓の観測所の日数がそのまま入っている
騒音・空気・においなど
全国を同じ物差しで採れる出典が無い

欠測の扱い

測れなかった指標は0 として数えず、外します。外したぶんは残りの重みで割り直し、どれだけ測れたかを「測れた〇%」として各ページに出しています。この割合が低いところは、スコアより先にその数字を見るべきものです。

たとえば犯罪の件数を町丁目まで公開している都道府県警察は一部だけで、 全国の 4 割ほどの町丁目にしかありません。 その町丁目の「治安・安全」は、事故・交番・消防の3つで割り直しています。

地図の形

市区町村ページのいちばん上に出している地図は、その市区町村が都道府県のどこにあるかだけを示すものです。 スコアの計算には使っていません。形は 国土数値情報 行政区域データ(国土交通省)(N03-20260101・CC BY 4.0)を簡略化して描いたものです。

ソース(MIT)

アルゴリズムの実装を、1行残らずここに置いています。14 ファイル・185,423 バイト。持って行って、係数を変えて回して構いません。

ファイル役目大きさ
README.mdはじめに読むもの11,230
LICENSEMIT ライセンス1,620
spec.pyアルゴリズムの定義そのもの。係数はすべてここにある47,597
d1.pyCloudflare D1 を読み書きする道具6,227
fetch.py5つのデータベースから素材を落とす13,165
geo.py最寄り距離と半径内の個数(2km 格子)6,984
build.py町丁目ごとの生の指標を組む19,915
score.py生の指標をスコアにして市区町村まで畳む15,570
load.py結果を D1 に入れ、入れた先を数えて確かめる9,912
emit_spec.py定義を画面用に写す4,482
emit_source.pyこのファイル自身も出す4,366
run_all.sh頭から通す1,662
011-rank.sqlスコアを置く表の作り3,842
feed.ts姉妹サイトの差分を毎晩取り込んで、動いたところだけスコアを入れ直す38,851

もとのデータには、それぞれの提供元が定めた利用条件があります。そちらは MIT ライセンスの対象ではありません。

いつ計算したか

版
v1.4
計算した日時
2026-09-07T05:52:00Z
スコアを付けた町丁目
220,811
並べた市区町村
1,896
生の指標 / 観点
63 / 18
運営
きゃっぷ

上の日時は全部を組み直した日です。そのあとも毎日 (朝 6:20)、医療機関・学校・介護事業所・店の動いた分だけを取り込んでスコアを入れ直しています。 だから順位は日々わずかに動きます。 物差し(どのスコアが上位何%にあたるか)は組み直した日のまま止めてあるので、動いた順位は、街に起きたことだけを映します。取り込みの記録は取込の状態に出しています。