方法透明 · 可稽核可重現

METHODOLOGY — 實坪單價是怎麼算的

把官方含車位、含公設的每坪單價,還原成每坪實際使用成本。計算與清洗方法完整攤開,任何人都能稽核、甚至自己重現。

RealPing 的核心主張是「算得對」:把官方含車位、含公設的單價,還原成住宅每坪實際使用成本。 這份文件把計算與清洗方法完整攤開,讓任何人都能稽核、甚至自己重現。所有邏輯都對應 transform/models/marts/fact_transaction.sql(清洗主邏輯)與 transform/models/staging/stg_transactions.sql(正規化)。

資料來源:內政部不動產交易實價查詢服務網(季度批次,110/7 起含主建物/附屬建物面積)。
依其「無償、非專屬、得再授權」授權條款使用,須註明出處。

1. 問題:官方每坪單價不可直接比,也不反映可用空間成本

官方「單價元平方公尺」的分母是建物移轉總面積,含車位公設坪數。車位動輒十幾坪、 公設常佔 25–35%,而且各案公設比不一——所以官方每坪單價不能直接拿來比較不同房子, 也不等於你每坪可用空間的成本。實坪單價把車位、公設坪數移出分母(公設的成本仍計入, 只是攤回實際能用的坪),給一個可比較的基準每坪真實使用成本

2. 面積關係(110/7 起資料)

建物移轉總面積 = 主建物 + 附屬建物(已含陽台) + 共有部分(公設) + 車位面積

由此拆出兩個關鍵面積:

名稱定義含義
淨面積建物移轉總面積 − 車位面積去車位,仍含公設
專有面積(實坪)主建物面積 + 附屬建物面積去車位、去公設的實際使用面積
⚠️ 陽台已包含在「附屬建物面積」內,不可再另外扣陽台,否則重複扣。

3. 公設比

公設面積 = 淨面積 − 專有面積          (max(…, 0),避免負值)
公設比   = 公設面積 ÷ 淨面積          (佔「去車位後建坪」的比例)

4. 三層單價對照(單位:萬元/坪;1 坪 = 3.305785 ㎡)

每筆都同時回傳三種口徑,讓你看清差在哪:

公式口徑
原始單價官方單價(元/㎡) × 3.305785 ÷ 10000官方:含車位、含公設
去車位單價(總價 − 車位價) ÷ (淨面積 ÷ 3.305785) ÷ 10000扣車位,仍含公設
實坪單價(總價 − 車位價) ÷ (專有面積 ÷ 3.305785) ÷ 10000去車位、去公設 —— 招牌指標

其中「淨價 = 總價 − 車位價」用來剝離車位的價格貢獻。

5. 品質旗標:哪些資料不能直接拿來算行情

原始批次過半不適合直接計算行情,RealPing 對每筆標記旗標,預設只回「實坪可用」案件:

旗標判定
是否特殊備註命中特殊交易關鍵字(見 §7) 交易標的 = 車位
含車位無價車位面積 > 0 但車位價 = 0(無法剝離車位價格)
多物件交易筆棟數中「土地筆數 > 1」或「建物棟數 > 1」(一筆交易含多物件,單價失真)
單價可用淨面積 > 0 且 非特殊 且 非多物件 且 非含車位無價
實坪可用在「單價可用」基礎上,再要求專有面積 > 0(有主建物面積能拆公設)

5a. 樣本代表性與選擇偏誤(誠實邊界)

實坪行情只在「實坪可用」子集上計算,這個子集約佔全體成交的 19%(線上約 58 萬筆中)。 其餘約 81% 因下列旗標被排除(旗標彼此重疊,故不相加):特殊交易約 52%多物件約 26%缺主建物面積約 25%含車位無價約 7%。這代表我們報的中位數與落差,描述的是 「可完整拆公設、單物件、可剝車位的正常住宅成交」,不是全體實價登錄、也不是整體市場。 因此這是一種選擇樣本(selection on observability + market-normalcy),使用時請留意它帶來的偏誤方向:

這些本就會扭曲每坪單價,排除讓行情更乾淨,但也意味行情不涵蓋這些情境。

主建物面積的標的(含多數透天)會落在子集外。實坪行情因此偏向有完整建物面積登記的集合式住宅 (華廈/大樓/公寓)透天、土地不在內**。

故此項在當前資料不構成時間偏誤;但若回填 110/7 以前的批次,那些成交會因無此欄位整批落在子集外, 屆時實坪行情會偏向較新的成交,需另行標註。

我們為此做的事(讓偏誤可檢、不外推):①逐筆旗標對外 API 一併帶出,任何人都能用旗標重新切分、 驗證子集;②前端「資料誠信」區塊把各旗標佔比視覺化,明示「為何過半成交不能直接算行情」; ③對外措辭一律限定「實坪可用成交」,不把此中位數外推成全體市場

6. 跨期去重

raw 依期別分資料夾(raw/<期別>/)。同一筆交易(編號)若跨期出現(後期為更正/重發版), 取最新一期row_number() over (partition by 編號 order by 來源期別 desc) = 1

6a. 交易日健全性(未來日期 = 登錄打錯年)

民國年月日轉西元(1120626 → 2023-06-26)是逐字轉換,登錄者把年份打錯(如 112 打成 116) 就會得到不可能的未來日期。判準:一筆批次不可能包含晚於其來源期別(季)末日的成交112S4 批次的成交不可能晚於 2023-12-31)。故 交易日 > 期別末日 者視為錯誤資料、 null(見 macros/roc.sql 的 period_end_date)。 這類列不進區×月行情聚合(agg 已濾 交易日 is not null),單價等其他欄位仍保留。 實測佔比極低(7 季約 58 萬筆中 14 筆,約四萬分之一)。

不默默清掉(透明原則):被判定的列會打上 日期異常 = true 旗標,對外 API 回應一併帶出, 消費者查得到、可篩選;每次清洗的 serving 摘要 日誌也記 bad_dates 筆數,運維看得到每批多少髒資料。

7. 「特殊交易」關鍵字(唯一來源)

備註命中以下任一關鍵字即視為非正常市場交易(單一來源: transform/dbt_project.yml 的 vars.special_regex):

親友・親屬・親戚・親等・關係人・員工・股東・特殊・急・債・拍賣・法拍・金拍・點交・
增建・未登記・毛胚・瑕疵・凶宅・事故・合建・分割・分件・解約・更正・政府・公有・
標售・讓與・地上權・持分・贈與・信託

8. 實算範例(可自己重現)

以下用 repo 內附樣本中的一筆真實成交(臺北市內湖區金龍路),任何人都能跑 make sample && make transform 後查到同樣結果。

原始欄位:總價 19,080,000 元、車位價 0、建物移轉總面積 101.89 ㎡、車位面積 0、 主建物 72.69 ㎡、附屬建物 0 ㎡、官方單價 187,261 元/㎡。

逐步計算

淨面積   = 101.89 − 0      = 101.89 ㎡  → 淨建坪 = 101.89 / 3.305785 = 30.82 坪
專有面積 = 72.69 + 0       = 72.69 ㎡   → 實坪   = 72.69  / 3.305785 = 21.99 坪
公設比   = (101.89 − 72.69) / 101.89    = 28.7%
淨價     = 19,080,000 − 0  = 19,080,000 元

原始單價   = 187,261 × 3.305785 / 10000           ≈ 61.90 萬/坪
去車位單價 = 19,080,000 / 30.82 / 10000           ≈ 61.90 萬/坪   (此筆無車位,故與原始同)
實坪單價   = 19,080,000 / 21.99 / 10000            ≈ 86.77 萬/坪

結論:官方口徑 61.90 萬/坪,去掉 28.7% 公設後的實坪單價 86.77 萬/坪(高約 40%)。 這 40% 不是漲價,而是把公設坪也算進分母、稀釋了官方每坪數字的結果——換成「每坪可用空間的成本」就會看到。

想驗證去車位的效果,挑一筆有車位的成交(車位面積 > 0、車位價 > 0)重算即可:
此時「去車位單價」會明顯高於「原始單價」,「實坪單價」再更高。

9. 刻意不做的事(避免假精確)


10. 實坪價格指數(RPI)的編製方法

RealPing 實坪價格指數(RPI)以上述「實坪單價」為口徑,每月編製全台與六都的價格指數 (發布於 realping.tw/rpi/)。逐月中位數會受「這個月剛好豪宅多/透天多」的組成影響, 所以 RPI 不直接拿全體中位數,而是採分層定權中位數比值法(Laspeyres 式定基指數):

再以基期各 cell 的成交筆數占比加權平均 ×100 —— 逐月組成改變不影響權重。

已發布的指數水準不會被洗掉。

cell 當月樣本 < 5 該月剔除該 cell、權重就地重歸一;全台月樣本 < 1,500 的月份不納入序列 (序列取達標的最長連續段);最新月樣本不足前 6 個月中位數的 60% 視為登錄未完備、整月不納入。

原始月值照常發布(資料檔與走勢圖),但標題與月/年變動以 3 個月移動平均計。

修正政策(vintage):實價登錄有申報時滯與更正機制,歷史月份的指數會隨每月批次小幅修正。 指數主頁與資料檔(rpi.json / rpi.csv)永遠以最新資料重算全序列; 每期存檔頁(/rpi/資料月)定格發布當時的數字、永不改動,供稽核「當時發布了什麼」。

誠實邊界:RPI v1 的分層只控制縣市×型態的組成偏移,未做逐戶特徵的品質調整 (hedonic/repeat-sales),並繼承 §5a 的樣本代表性限制(僅實坪可用樣本、偏集合式住宅)。 它衡量的是「實坪可用樣本中,每坪實際使用空間價格」的變動, 與含公設口徑的既有指數(信義/國泰)衡量的對象不同,數值不可直接互比。


常見問題

關於去公設實坪的算法與資料判定。

實坪使用面積怎麼定義?為什麼不另外扣陽台?
實坪使用面積=主建物面積+附屬建物面積。附屬建物已含陽台,若再另外扣陽台會重複扣,故不再扣。實坪單價=去車位淨價 ÷ 實坪使用面積。
110/7 之前的資料能算去公設實坪嗎?
不能。主建物面積是 110/7(民國110年7月)起的新 schema 才有的欄位;缺主建物面積就無法把公設從建坪拆出,這類成交會被標為「非實坪可用」、不納入實坪行情。
公設比是怎麼算出來的?
由實際成交的登記面積反算:先扣車位得淨面積,公設比=(淨面積 − 專有面積) ÷ 淨面積,專有面積即實坪使用面積。公設比是建商售屋用語、法規無定義也無逐戶分算標準,故由客觀登記面積反算才可比較。
三層單價分別是什麼?
原始單價(官方口徑,含車位含公設)、去車位單價(扣車位仍含公設)、實坪單價(去車位去公設,招牌指標)。每筆都同時回報三種口徑,看清差在哪。
為什麼要排除特殊交易與多物件?
親友間交易、含增建或頂樓加蓋、一筆含多物件、含車位卻無車位價等情況會扭曲每坪單價,RealPing 以品質旗標標記並預設排除,只回「實坪可用」的乾淨成交。判定規則公開可稽核。
1 坪等於多少平方公尺?
1 坪 = 3.305785 平方公尺。官方單價以「元/平方公尺」計,RealPing 換算為「萬元/坪」呈現。