【新連載 第1回】国交省データで導く「不動産固有ポテンシャル」
ブラックボックス査定を壊す、3つの罠と算出モデル

不動産査定サイトは便利である。 住所を入れれば、数秒で価格らしきものが出てくる。売る気がなくても、自宅の価値をなんとなく知った気になれる。
だが、老生はふと思った。
その数字は、どこから来たのか。
誰のデータを使い、どんな補正をかけ、どのようなロジックで、どの程度の外れ値を捨て、どこから先を「推定」と呼んでいるのか。そこが見えない。 つまり、便利な査定はしばしば ブラックボックス である。
本連載『不動産固有ポテンシャル』では、このブラックボックスに、国交省の実勢価格データとGAS(Google Apps Script)、そして少しばかりの 社会熱力学*note をぶつけてみる。
目標は単純だ。 他人の査定アルゴリズムに依存せず、国交省の生データから、自宅周辺の「不動産固有ポテンシャル」を自分で導き出すこと。
記念すべき連載第1回(B102)は、データの地層を掘り起こし、価値を算出する「バックエンドエンジン」の開通までの泥臭い記録である。
🎧 AIによる副音声解説(Audio Overview)
本プロジェクトの裏側や思想について、AIホスト2名が熱く語るポッドキャスト風解説です。記事と合わせてお楽しみください。
🎧 AIによる動画解説
本プロジェクトの裏側や思想について、AIホストが熱く語る解説動画です。記事と合わせてお楽しみください。
1. 最初に成果を出しておく
今回の検証モデルでは、国土交通省の「不動産取引価格情報」から対象エリアのデータを抽出した。
- 対象: 関西圏 某区Aエリア(※特定リスク回避のためサニタイズ済)
- 期間: 2020年第1四半期〜2025年第4四半期
- 対象種別: 宅地(土地と建物)
- 検証条件: 土地100㎡ / 築15年
様々な技術的罠(後述)を越え、最終的に 129件の有効な取引データをサルベージすることに成功 した。 その結果、検証モデルから弾き出された値が以下である。
| 項目 | 推定値 | 補足 |
|---|---|---|
| 推定土地価値 | 19,672,614円 | エリア平均平米単価:約19.6万円 |
| 推定建物価値 | 6,363,636円 | 耐用年数22年、15年経過時点の残存価値 |
| 総合ポテンシャル | 26,036,250円 | 土地価値 + 建物価値 |
もちろん、これはそのまま「売却価格」を意味するものではない。道路付けや隣地関係など、個別のノイズは含まれていないからだ。
しかし、この数値には確かな意味がある。 なぜならこれは、ブラックボックス化された他人のアルゴリズムではなく、国交省の実勢価格データという「実在気体」から、数理モデルで直接取り出した 純度100%の固有ポテンシャル だからである。
💡 Note:本記事における「社会熱力学」とは?
物理学の「熱力学(エネルギー保存やエントロピーの法則)」を、社会や経済のシステムに応用する考え方です。 人間の感情や業者の思惑、あるいはブラックボックスな査定アルゴリズムを一切排除し、 「システム全体として、価値(エネルギー)はどう移動し、どう減衰するか」 を冷徹な数理モデルで割り出すアプローチを指します。
本記事の不動産モデルでは、この法則を以下のように当てはめています。
エントロピーの増大(不可逆な減衰): 建物の経年劣化。時間が経てば必ず価値はゼロ(無秩序)に向かう。
純粋なポテンシャルエネルギー: 建物価値がゼロになった後に残る、その土地固有の底値(平均平米単価)。
実在気体(分子の摩擦): 相続や業者の買い叩きなど、理想的な数式を歪める現実の「ノイズ取引」。
査定会社の「なんとなくの補正」を信じず、 「熱力学的に考えて、最後に残るエネルギーはいくらか?」 を計算機(GAS)で直接暴き出すのが、今回のハッキングの目的です
2. 不動産価値は「実在気体」である
理想気体なら、式はきれいだ。圧力、体積、温度の関係は明快で、世界は美しい。 だが現実の気体はそうはいかない。分子はぶつかり、偏り、摩擦を持つ。
不動産価格も同じだ。実際の取引データは、ノイズだらけの「実在気体」である。
- 相続で急いで売却された物件
- 業者が安値で仕入れた取引
- とんでもない大富豪の豪邸(外れ値)
これらのノイズを無視して「単純平均」を取ると、いかにもそれらしいが、実態から大きくズレた数字が出る。 だからこそ、単純平均を盲信せず、 「中央値」の採用や「外れ値の除外」といった統計的補正 を取り入れる設計が、このシステムの核となる。
3. 開発を阻む「3つの罠」
この「実在気体」をシステムに流し込むまでには、いくつもの物理的な罠が存在した。
罠1:Googleドライブの「自動変換」
GASでCSVをパースしようとしたとき、なぜか %PDF-1.4 というPDFの亡霊が現れ、エラーで即死した。
原因はコードではなく、Googleドライブの設定にある「アップロードしたファイルを Google ドキュメント エディタ形式に変換する」というお節介機能だった。
CSVを上げたはずが勝手にスプレッドシート化し、GASがそれを読もうとすると自動でPDF化して返すという悪魔のコンボである。自動変換の設定をオフにすることで回避した。
罠2:生データの「特定リスク」
129件の取引データをそのまま公開すると、個別物件が特定されるプライバシーのリスクがある。 そのため、フロントエンド(UI)へデータを渡す前に、エリア名を丸め、統計的特徴(平均値や分布)だけを維持した「ダミーモックデータ」を生成するサニタイズ処理が不可欠となる。
罠3:「単純平均」を信じてしまう罠
前述の通り、一件の特殊な取引が平均値を大きく引っ張る。 平均値は便利だが、不動産価格のようにノイズが大きいデータでは、中央値や四分位範囲を用いた補正を行わなければ真の価値は導き出せない。
4. 実装現場の裏ボスたち(地下通路の激闘)
表向きの罠以外にも、コードの実装現場では泥臭いバグとの格闘があった。
㎡の文字化け: 国交省CSVの「面積(㎡)」が、文字コードの仕様で「u」に化ける。完全一致検索を捨て、includes('面積')という部分一致のファジー検索で突破。- 国交省データのサイレント仕様変更: 以前は
宅地(建物付)だったデータ表記が、最新版では宅地(土地と建物)にこっそり変わっており、フィルターが全件弾いてしまうバグに遭遇。 - 和暦と西暦の混在: 建築年が「昭和」だけでなく「1964年」といった西暦表記も混入するようになり、正規表現を用いたハイブリッドコンバーターを自作して対応した。
5. バックエンドのアーキテクチャ
以上の結界をすべてすり抜け、データを濾過し、価値を分離するシステムの全体像である。 フローチャートが長いため、折り畳み表示にしている。
🔍 詳細なバックエンド処理フロー図(Mermaid生成)を開く
※自前の防弾パーサーでノイズを除去し、土地・建物のエネルギーを分離するパイプライン
6. 次回のロードマップ:B103とB104へ
今回のB102では、ブラックボックスを解体するための「バックエンドの演算エンジン」が完成した。 しかし、これで終わりではない。この純度100%のデータを、誰もが触れる形(ダッシュボード)へと昇華させる必要がある。
今後の連載予定は以下の通りだ。
- 【B103】ルートA:データの抽象化と燃料精製 今回抽出した129件の生データから、特定リスクを排除しつつ統計的分布を完全に維持した「サニタイズ済みダミーデータ(JSON)」を生成するルールの実装。
- 【B104】ルートB:フロントエンド・ダッシュボードの構築 Astro + React + Tailwind CSS を駆使し、生成されたデータをChart.jsで可視化する。スライダーで面積や築年数を動かせる、サイバーで透明なUIの構築。
自分の生活の価値は、できるだけ自分で検算したい。 ブラックボックスをそのまま信じないという態度のまま、次なるフェーズへ進もう。
(執筆協力:ChatGPT+Gemini+NotebookLM / 編集・監修:電脳古老)
(第2回:B103へ続く)
📚 連載:不動産固有ポテンシャル
- 第1話:国交省データで導く「不動産固有ポテンシャル」──ブラックボックス査定を壊す、3つの罠と算出モデル (今ここ)
- 第2話:単純平均を信じるな──中央値と外れ値除外で、不動産データのノイズを抜く
- 第3話:見える査定エンジンを実装する──Astro + Reactで構築する透明なUIダッシュボード
- 第4話:生存戦略としてのデプロイ──「見える査定エンジン」をCloudflareのエッジへ放つ
💬 電脳古老&変AIへのコメント
記事の感想・質問・雑談をどうぞ(200文字くらいまで推奨)
まだコメントはありません。一番乗りで古老とAIに話しかけよう!