Santa Clara County · Los Altos / Los Altos Hills, CA · MLSListings Web API 2.0
近 24 个月 492 笔成交里,300 笔在 14 天内成交 —— 中位成交价是挂牌价的 1.0433 倍,71.7% 超挂牌。剩下 192 笔跨过 14 天,中位掉到 0.9672,超挂牌比例塌到 13.5%。中间没有过渡带。而当前在售的 32 套里,有 22 套已经站在悬崖的另一侧。
横轴是成交价 ÷ 挂牌价的中位数,1.0000 是原样成交。按在市天数分组后,8–14 天组是全场溢价最高的一档(1.0511),越过 14 天立刻跌破 1.0 并再也没回来。这不是一条斜坡,是一个台阶。
同一个邮编、同一段时间、同一批买家。唯一的区别是有没有在两周内接到 offer。
| 分组 | 成交笔数 | 占比 | 成交/挂牌 | 超挂牌占比 | 成交中位价 | 相对挂牌净额 |
|---|---|---|---|---|---|---|
| 14 天内成交 | 300 | 61.0% | 1.0433 | 71.7% | $5,142,500 | +$100,504,228 |
| 14 天后成交 | 192 | 39.0% | 0.9672 | 13.5% | $4,270,000 | −$40,163,123 |
快卖的那批多拿了 $100,504,228,慢卖的那批少拿了 $40,163,123。两者相加,24 个月里 94022 的卖家整体仍比挂牌价多收了约 $60,341,105 —— 但这个"整体溢价"完全由前两周成交的房源贡献。把成交周期拖过两周,卖家平均要交回挂牌价的 3.3%。
因果方向要说清楚。不是"卖得慢导致价格低",而是定价过高 → 两周内无人接盘 → 房源变陈 → 最终折价。14 天是这个市场的定价校验窗口:定对了,两周内多方竞价把价格顶上去;定错了,之后再降也换不回溢价。
当前 32 套在售房源。横轴在市天数(平方根刻度,让前两周展开),纵轴挂牌价(对数刻度)。竖虚线是 14 天悬崖。红点表示已经下调过报价。
32 套在售里只有 10 套还在 14 天窗口内,13 套已经超过 90 天。按上面那张表的历史规律,越过悬崖的这 22 套,最终成交价中位数会落在挂牌价的 0.9672 倍附近 —— 也就是说,现在挂出来的价格里,多数已经不是最终成交价。
94022 同时覆盖 Los Altos(平地、学区房、地块小)和 Los Altos Hills(山上、大地块、豪宅)。这里只统计独栋。它们的中位成交价接近,但成交动力学完全不同。
| 城市 | 成交笔数 | 成交/挂牌 | 超挂牌占比 | 在市中位 | 成交中位价 | $/sqft 中位 |
|---|---|---|---|---|---|---|
| Los Altos | 209 | 1.0491 | 66.0% | 8 天 | $5,200,000 | $2,040 |
| Los Altos Hills | 153 | 1.0000 | 44.4% | 12 天 | $5,600,000 | $1,611 |
Los Altos 的中位成交价比 Hills 低 $400,000,单价却高出 $429/sqft(27%)。买家在平地买的是学区和通勤,按房子本身计价;在山上买的是土地,房子只是附赠品。这也解释了竞价强度:Los Altos 有 66.0% 的成交超挂牌,Hills 只有 44.4%,中位数正好卡在 1.0000 —— 山上的标准剧本是"按挂牌价成交",平地的标准剧本是"抢"。
独栋、公寓、联排在同一个邮编里几乎是三个独立市场。
| 房型 | 成交笔数 | 成交/挂牌 | 超挂牌占比 | 在市中位 | 成交中位价 | $/sqft 中位 |
|---|---|---|---|---|---|---|
| 独栋 SFH | 362 | 1.0095 | 56.9% | 9 天 | $5,400,000 | $1,857 |
| 联排 TH | 33 | 1.0000 | 42.4% | 15 天 | $1,889,000 | $1,281 |
| 公寓 CONDO | 84 | 1.0000 | 22.6% | 24 天 | $1,766,500 | $1,449 |
公寓的在市中位是独栋的 2.7 倍(24 天 vs 9 天),超挂牌比例只有独栋的三分之一。而在当前 32 套在售库存里,公寓占了 11 套 —— 库存结构比成交结构更偏公寓,这是在售中位在市天数被拉高的主要原因之一。
独栋成交。柱子是成交/挂牌比中位数(基线 1.0000),折线是 $/sqft 中位数。
| 季度 | 成交笔数 | 成交/挂牌 | 超挂牌占比 | 成交中位价 | $/sqft | 在市中位 |
|---|
32 套在售中有 9 套下调过报价。降幅按 OriginalListPrice 与当前 ListPrice 对比计算,来自 MLS 原始字段,不是门户网站的标签倒推。
| 房源 | 城市 | 类型 | 原始挂牌 | 当前挂牌 | 降幅 | 在市天数 |
|---|
全部是独栋,全部在 12 天内成交。这是 94022 定价策略的另一面:把挂牌价定在市场价下方 20–30%,用两周的密集看房制造竞价。
| 房源 | 城市 | 挂牌价 | 成交价 | 溢价 | 在市天数 | 成交月份 |
|---|
低挂高走是这里的主流打法,不是意外。这 12 笔的溢价在 +31% 到 +41% 之间,在市天数全部 ≤ 12 天。反过来看,一套房挂出去两周没动静,往往说明它的挂牌价本来就接近或高于市场价 —— 而这个市场对"公道定价"的奖励,明显低于对"低价起拍"的奖励。
对买家的含义:看到 94022 的挂牌价时,如果房源上市不满两周且房况学区都不差,实际成交价大概率要在挂牌价上再加 5–30%。真正能按挂牌价甚至低于挂牌价买到的,基本都在上市 15 天以后的库存里。
全部 43 套在售 + 在合约房源,来自 MLS 全量数据(非分页抽样)。点击表头排序。
| 房源↕ | 城市↕ | 类型↕ | 挂牌价↕ | 降幅↕ | 卧/卫 | 面积↕ | $/sqft↕ | 地块↕ | 建成↕ | 在市↕ |
|---|
0–7 天组和 8–14 天组的成交/挂牌中位数分别是 1.0332 和 1.0511,15–30 天组直接掉到 0.9750。跨过这条线,中位数下滑约 7.6 个百分点,超挂牌比例从 78.4% 塌到 24.6%。做 CMA 或者定价建议时,"在市 30 天"和"在市 60 天"之间的差别远小于"13 天"和"16 天"之间的差别。
61–90 天组中位 0.9583,90 天以上组反而回到 0.9724,看着像触底反弹。但同组的成交中位价是 $2,485,000,只有 8–14 天组($5,257,500)的一半 —— 因为能在 90 天后成交的,多数是已经大幅下调过挂牌价的低价段房源,"成交/挂牌"里的分母早就不是原始报价了。用 OriginalListPrice 而不是 ListPrice 做分母,这一组会继续往下走。
同一个邮编,单价差 27%($2,040 vs $1,611),超挂牌比例差 21.6 个百分点,在市中位差 4 天。任何按 ZIP 汇总的 94022 中位数都是这两个市场的加权平均,对两边都不适用。字段上用 City 拆开即可,MLS 数据里这两个城市名是干净分开的。
在售的公寓/联排里,450 First Street 一栋就占了 5 套(在市 107–156 天,其中 1 套已降 5.7%),226 Edith Avenue 2 套(都降了约 6.3%),4388 / 4880 El Camino Real 3 套。同一地址反复出现说明这不是零散业主抛售,而是新建楼盘的尾盘去化。历史成交也印证:450 First Street 近期有两笔分别在市 246 天和 334 天才成交,其中一笔 −12.7%。
API 返回的 Location 是 POINT(0 0),Latitude / Longitude 为 null。这与实施指南的说明一致:MLSListings 被限制向数据 feed 输出坐标。因此 geo.distance / geo.intersects 这两个函数虽然语法可用,但对本 feed 返回的数据没有意义 —— 需要地理围栏分析的话,坐标必须自行从别处补齐(地址地理编码)。
本报告全部数据来自 MLSListings Web API 2.0(RESO Web API / OData 4.0),scope 为 FULL,无第三方门户网站参与。以下是实际使用的查询。
# 43 套,全量,非抽样 GET /full/Property ?$filter=PostalCode eq '94022' and PropertyType ne ResourceEnums.PropertyType'ResidentialLease' and (StandardStatus eq ResourceEnums.StandardStatus'Active' or StandardStatus eq ResourceEnums.StandardStatus'ComingSoon' or StandardStatus eq ResourceEnums.StandardStatus'ActiveUnderContract' or StandardStatus eq ResourceEnums.StandardStatus'Pending') &$select=ListingKeyNumeric,ListingId,StandardStatus,PropertyType,PropertySubType, City,StreetNumber,StreetName,StreetSuffix,ListPrice,OriginalListPrice, ClosePrice,CloseDate,ListingContractDate,OnMarketDate,DaysOnMarket, LivingArea,LotSizeSquareFeet,BedroomsTotal,BathroomsFull,BathroomsHalf,YearBuilt
# 495 笔,其中 492 笔价格 ≥ $200K 进入统计
GET /full/Property
?$filter=PostalCode eq '94022'
and PropertyType ne ResourceEnums.PropertyType'ResidentialLease'
and StandardStatus eq ResourceEnums.StandardStatus'Closed'
and CloseDate ge 2026-08-01
租赁数据必须排除,否则所有价格统计都是错的。94022 里有 608 条 Residential Lease 记录,它们的 ListPrice / ClosePrice 是月租金($2,298 到 $30,000 不等),PropertySubType 却同样标着 Single Family Residence / Condominium。不过滤的话,24 个月窗口里会混进 30 条租赁记录,把成交中位价和成交/挂牌比全部污染。区分字段是 PropertyType,不是 PropertySubType。API 没有 NOT IN 运算符,用 ne 排除。
另外剔除了 3 笔 ClosePrice < $200K 的记录。过滤租赁后仍有 3 笔异常低价成交(疑似关联交易或数据录入问题),成交统计样本因此是 492 而非 495 笔。在售清单未做此过滤(43 套全保留)。
DaysOnMarket 直接采用 MLS 字段,未自行计算。该字段由 MLSListings 维护,重新挂牌(relist)是否重置计数取决于经纪人操作,因此个别房源的在市天数可能低于其实际市场暴露时间。在售样本中最长的 28025 Natoma Road 为 492 天。
成交/挂牌比的分母是 ListPrice(成交时的挂牌价),不是 OriginalListPrice。这是行业标准口径(SP/LP ratio),但它会低估降过价房源的实际让利 —— 一套原价 $5M、降到 $4.5M 后按 $4.5M 成交的房子,SP/LP 是 1.0000,看起来"没让利"。第 2 条提示讨论的就是这个偏差。
时间口径为 UTC。Web API 2.0 起所有时间值为 UTC,默认 Offset 格式(如 2026-08-02T18:54:29-07:00)。CloseDate / OnMarketDate 为纯日期字段,不受影响。
Token 有效期。本次拉取使用的 token 于 2026-08-27 到期(拉取时剩余 11 天)。Token 由 MLSListings Data Services 每 6 个月经邮件重发,到期后需替换 jqf_webAPI-2.0-token.txt。