{
  "schemaVersion": 1,
  "analysisId": "taipei-border-premium-local-conditional-premium",
  "title": "臺北市側在臺北／新北邊界附近是否有房價溢價？",
  "summary": "使用內政部實價登錄 110S3 到 115S1、官方門牌座標與人工審核的連續邊界區段，估計臺北市側 500m local conditional premium；主估計為 25.91%，13/13 QA gates 通過。",
  "articleUrl": "https://pyecontech.com/market-notes/taipei-border-premium-local-conditional-premium/",
  "manifestUrl": "https://pyecontech.com/data-analysis/taipei-border-premium-local-conditional-premium.json",
  "datePublished": "2026-05-14",
  "lastVerified": "2026-05-14",
  "confidence": "verified",
  "dataSnapshot": "MOI LVR 110S3-115S1; 286,883 cleaned rows; 283,808 matched addresses; 1,322 matched formal sample rows",
  "datasets": [
    {
      "id": "moi-real-estate-lvr-history",
      "name": "內政部實價登錄買賣批次資料",
      "description": "110S3 到 115S1 的中古住宅交易資料，用於建立臺北／新北邊界附近的房價分析 panel。",
      "source": "內政部不動產成交案件實際資訊批次資料",
      "coverage": "110S3 to 115S1",
      "frequency": "Quarterly",
      "license": "政府資料開放授權條款，依來源公告為準"
    },
    {
      "id": "taipei-ntpc-official-house-number-coordinates",
      "name": "臺北市與新北市官方門牌座標",
      "description": "官方門牌位置資料，用於交易地址標準化與座標匹配；此分析未使用第三方 geocoding API。",
      "source": "臺北市與新北市官方開放資料",
      "coverage": "Pipeline run used the official versions available at analysis time",
      "frequency": "Official source update schedule",
      "license": "官方開放資料授權條款，依來源公告為準"
    },
    {
      "id": "official-administrative-boundaries",
      "name": "官方行政區界線圖資",
      "description": "用於建立臺北市／新北市邊界、計算距離、確認交易點位位於正確城市側。",
      "source": "官方縣市與行政區界線圖資",
      "coverage": "Boundary files used by the taipei_border_premium pipeline",
      "frequency": "Official source update schedule",
      "license": "官方開放資料授權條款，依來源公告為準"
    }
  ],
  "methods": [
    {
      "id": "border-discontinuity",
      "name": "邊界不連續設計",
      "description": "在臺北／新北行政邊界附近的局部樣本中，估計臺北市側相對新北市側的條件價差。"
    },
    {
      "id": "matched-formal-sample",
      "name": "Matched formal sample",
      "description": "在 approved continuous segments 中，以停車位 exact matching 與房屋特徵 nearest-neighbor matching 建立兩側可比樣本。"
    },
    {
      "id": "same-side-placebo-checks",
      "name": "Same-side placebo checks",
      "description": "在同一城市側內設定 fake cutoffs，檢查價格是否在非行政邊界處也出現顯著跳躍。"
    }
  ],
  "dataAccess": {
    "policy": "public-model-ready",
    "publicArtifacts": "本站發布 aggregate estimates、QA summary，以及一份去識別化 model-ready regression dataset，讓 Colab 可以重跑主估計。",
    "rawData": "不重新發布 raw transactions、raw address coordinates、geocoded panels 或 interim parquet files。",
    "reproductionNotes": "Colab result reproduction 使用公開 model-ready data；full raw-data reproduction 仍需自行取得官方來源資料後重跑 pipeline。"
  },
  "artifacts": [
    {
      "id": "aggregate-summary",
      "name": "Aggregate summary JSON",
      "description": "Main estimate, selected segments, QA gates, balance table, robustness checks, and same-side placebo checks.",
      "kind": "summary",
      "href": "/data/taipei-border-premium/summary.json",
      "format": "json",
      "privacy": "aggregate"
    },
    {
      "id": "model-ready-regression-data",
      "name": "Model-ready regression CSV",
      "description": "Gzipped public model frame for re-running the 500m control-parking regression without address, coordinate, or geocode fields.",
      "kind": "table",
      "href": "/data/taipei-border-premium/model_input.csv.gz",
      "format": "csv",
      "privacy": "model-ready"
    },
    {
      "id": "expected-results",
      "name": "Expected results JSON",
      "description": "Expected premium, confidence interval, sample size, selected segments, QA pass states, and model formula for notebook assertions.",
      "kind": "report",
      "href": "/data/taipei-border-premium/expected_results.json",
      "format": "json",
      "privacy": "aggregate"
    },
    {
      "id": "reproduction-manifest",
      "name": "Reproduction manifest JSON",
      "description": "Public bundle inventory, excluded private fields, source artifact origins, and privacy notes.",
      "kind": "manifest",
      "href": "/data/taipei-border-premium/reproduction-manifest.json",
      "format": "json",
      "privacy": "aggregate"
    }
  ],
  "analysisNotebook": {
    "href": "/notebooks/taipei-border-premium-local-conditional-premium.ipynb",
    "colabUrl": "https://colab.research.google.com/drive/1lA6oJJutVXeZkx_AB-vLJWdSP_0VhMGG",
    "level": "result",
    "description": "Download the public result notebook for Colab upload or local inspection."
  },
  "reproducibility": {
    "level": "result",
    "command": "PYTHONPATH=src /opt/homebrew/bin/uv run --locked --offline python -m taipei_border_premium.historical_mvp",
    "environment": "uv locked environment; official raw data stays outside PyInvest public artifacts",
    "expectedRuntime": "Local runtime depends on source files and geocoding cache.",
    "dataRequirements": [
      "MOI LVR 110S3-115S1 seasonal ZIP files",
      "Taipei and New Taipei official house-number coordinate files",
      "Official administrative boundary files"
    ]
  },
  "expectedResults": [
    {
      "label": "Main premium",
      "value": "25.9144%",
      "source": "outputs/estimation/final_estimate_summary.json"
    },
    {
      "label": "95% confidence interval",
      "value": "18.5757% to 33.7072%",
      "source": "outputs/estimation/final_estimate_summary.json"
    },
    {
      "label": "Formal sample rows",
      "value": "1,322",
      "source": "outputs/qa/qa_gate_summary.json"
    },
    {
      "label": "Address match rate",
      "value": "98.9281%",
      "source": "outputs/qa/geocode_history_report.json"
    },
    {
      "label": "Failed QA gates",
      "value": "0",
      "source": "outputs/estimation/final_estimate_summary.json"
    }
  ],
  "qaGates": {
    "passed": 13,
    "total": 13,
    "summary": "All formal publication gates passed."
  }
}