开店选址综合分析助手。用户输入目标地址和开店类型,自动整合高德地图实时数据(地理编码、POI搜索、交通态势),从人流量、用户群体、客流特点、消费情况、竞品分析六大维度进行评估,生成交互式HTML可视化选址报告(含评分仪表盘、雷达图、竞品对比表、行动建议)。覆盖餐饮零售服务等全业态。触发词:开店选址、选址分析、店铺...
Documents
Senior Restaurant Retail Location Decision Analyst
Try itExecute as "Senior Commercial Real Estate Data Analyst. Instead of outputting "feelings", quantitative assessments are made based on confidence intervals for demographics and spatial economics. Core tools: Reilly's Law (Reilly's Law of gravity), Hotelling's Location Model (Hotelling Location Model),
What it does
资深商业地产数据分析师视角的餐饮商铺量化评估与决策工具。融合 Reilly 零售引力定律、 Hotelling 区位模型、TQI 客流质量指数与 GIS 逻辑,并深度调用地图 MCP(如腾讯地图 MCP) 采集人流量代理、竞品分布、消费水平与商业密度,输出数据驱动的品类选址建议, 以及面向决策人的专业 Markdown 报告(含可视化)。 当用户提及"商铺评估"、"开店测算"、"选址"、"雷利定律"、"商圈吸客力"、"投资回报"、 "Reilly"、"Hotelling"、"GIS"、"断裂点"、"客流质量"、"地图"、"人流量"、"竞品分布"、 "消费水平"、"商业密度"、"品类选择"、"选址决策报告"等关键词时触发。 基于结构化 JSON(位置/客流/竞争/财务 + 可选地图MCP采集),调用 scripts 下引擎输出: 商圈断裂点与捕获面积、TQI 修正有效客流、三情景财务预测与回本周期置信区间、 数据驱动的品类推荐排序,以及谈判筹码。内置消防/排烟/产权一票否决(Red Flag)。
The skill document
餐饮选址决策与 ROI 分析系统 v3.0.0
角色设定
以「资深商业地产数据分析师」身份执行。不输出"感觉",而是基于人口统计学与空间经济学的 置信区间做量化评估。核心工具:Reilly's Law(雷利零售引力定律)、Hotelling's Location Model(霍特林区位模型)、TQI(Traffic Quality Index 客流质量指数)与 GIS 逻辑 (Buffer Zone、Network Analysis、Catchment Area)。
v3.0 新增能力:深度联动地图 MCP 采集结构化空间数据(人流量代理 / 竞品分布 / 消费水平 / 商业密度),并基于数据给出餐饮品类选址建议与决策人级 Markdown 报告。
适用场景(触发条件)
用户提出以下任意意图时激活:
- 评估某餐饮铺位的商圈吸客力与断裂点(Reilly)
- 量化客流质量(可视性衰减 + 物理阻抗)并预测翻台/客单
- 基于竞品距离与规模测算分流率(Hotelling)
- 输出三情景(乐观/中性/悲观)财务预测与回本周期置信区间
- 测量目标区域人流量 / 商业密度(调用地图 MCP)
- 评估周边商圈价值:竞品分布、消费水平、商业密度
- 基于数据给出餐饮品类选择建议
- 需要带 GIS 术语的专业决策报告与租约谈判筹码
- 存在消防/排烟/产权硬伤时的"一票否决"判定
使用指南
1. 功能说明
本 Skill 面向餐饮 / 零售商铺选址决策,提供以下能力:
- 地图 MCP 数据采集:调用已连接的地图 MCP(如腾讯地图 MCP)测量目标区域人流量代理、竞品分布、消费水平、商业密度与路网可达性(详见
references/map_mcp_guide.md)。 - Reilly 零售引力定律:计算断裂点(Breaking Point)与核心商圈半径、有效捕获面积(Catchment Area)。
- TQI 客流质量指数:可视衰减 × 物理阻抗,将"通过人流"折算为"进店人流"。
- Hotelling 区位模型:基于竞品距离与规模测算分流率,量化竞争影响。
- 三情景财务 + 置信区间:乐观 / 中性 / 悲观营收与回本周期,输出风险等级。
- 数据驱动品类推荐:基于商圈类型 / 消费水平 / 商业密度 / 竞争强度 / TQI / 合规硬伤,给出餐饮品类评分排序与回避清单。
- 决策人 Markdown 报告:七节结构化报告(含客流漏斗、回本区间等 ASCII 可视化与行动清单)。
- Red Flag 一票否决:命中消防 / 排烟 / 产权 / 排污硬伤直接终止。
2. 使用方法
方式一 · 对话触发(推荐) 直接对 AI 描述选址需求,例如:"帮我评估 XX 路这个铺位,做茶饮合不合适?""测量一下这个商圈的竞品分布和人流量"。命中关键词(选址 / 雷利定律 / 商圈吸客力 / 置信区间 / 人流量 / 品类选择 / 选址决策报告 等)即触发;AI 会引导补全信息并自动跑完工作流,最终输出 Markdown 决策报告。
方式二 · 本地脚本直跑(可选,便于批处理 / 二次开发)
# 1) 量化分析(Reilly / TQI / Hotelling / 三情景)
python scripts/roi_calculator.py --json input.json # 自定义输入
python scripts/roi_calculator.py --demo # 内置示例
# 2) 品类推荐
python scripts/category_recommender.py --json feats.json
python scripts/category_recommender.py --demo
# 3) 生成决策人 Markdown 报告(整合 1+2 + 可选地图数据)
python scripts/report_generator.py --json input.json --map-json map_data.json --out report.md
python scripts/report_generator.py --demo --map-json examples/demo_map_data.json --out examples/decision_report_demo.md
脚本仅依赖 Python 标准库(argparse / json / math / re / datetime / os / sys),无需任何第三方包,Python 3.8+ 即可运行。
地图 MCP 前置:若要用到真实空间数据,请先在连接器面板将 tencent-map(或等效地图 MCP)状态置为 connected;未连接时按降级策略以人工估算推进,并在报告中明确标注。
3. 参数描述(输入 JSON)
以下为 roi_calculator.py 的输入 schema,缺失项由 references/benchmarks.md 基准估算(* 为可选):
| 字段路径 | 类型 | 必填 | 说明 | 示例 / 缺省 |
|---|---|---|---|---|
project | string | 是 | 项目名(报告标题用) | "新店001" |
category | string | * | 品类,决定捕获率基准(正餐/快餐/茶饮/火锅/烘焙…) | "正餐" |
location.address | string | * | 地址(供地图 MCP 地理编码) | "XX路XX号" |
location.longitude / latitude | number | * | 经纬度(有则跳过地理编码) | 121.47 / 31.23 |
location.scale_sqm | number | 是 | 本店营业面积,作为 Reilly 吸引力 Sa | 150 |
location.visibility_angle | number | * | 门头可视角度(度),决定可视衰减 | 45(缺省 90) |
location.foot_traffic.weekday_noon | number | 是 | 工作日午市过点人流 | 2500 |
location.foot_traffic.weekday_night | number | 是 | 工作日晚市过点人流 | 800 |
location.foot_traffic.weekend_avg | number | 是 | 周末平均过点人流 | 1800 |
impedance | array | * | 物理阻抗标签:step/median/low_ceiling/pillar/bad_parking | ["step"] |
competition[].name | string | 是 | 竞品名 | "竞品A" |
competition[].distance_m | number | 是 | 本店与竞品间距(米) | 50 |
competition[].scale_sqm | number | * | 竞品面积(吸引力 Sb) | 150(缺省同本店) |
financials.rent_monthly | number | 是 | 月租金 | 50000 |
financials.deposit_terms | string | 是 | 押付条款,解析为 首期租金 = 月租×(押+付) | "3押1付" |
financials.renovation_cost | number | 是 | 装修设备投入 | 300000 |
financials.transfer_fee | number | * | 转让费 | 0 |
financials.avg_check | number | 是 | 客单价 | 45 |
financials.cogs_ratio | number | 是 | 食材成本率 | 0.35 |
financials.opex_ratio | number | 是 | 运营费用率(占营收) | 0.25 |
red_flags | array | * | 合规硬伤:no_fume/no_vent/fire_hazard/no_sewage/unknow_title 等 | [] |
完整 JSON 示例:
{
"project": "新店001",
"category": "正餐",
"location": {
"address": "XX路XX号",
"longitude": 121.47, "latitude": 31.23,
"scale_sqm": 150,
"visibility_angle": 45,
"foot_traffic": {"weekday_noon": 2500, "weekday_night": 800, "weekend_avg": 1800}
},
"impedance": ["step"],
"competition": [{"name": "竞品A", "distance_m": 50, "scale_sqm": 150}],
"financials": {
"rent_monthly": 50000, "deposit_terms": "3押1付", "renovation_cost": 300000,
"transfer_fee": 0, "avg_check": 45, "cogs_ratio": 0.35, "opex_ratio": 0.25
},
"red_flags": []
}
category_recommender.py 另需商圈特征(trade_area_type / consumption_level / commercial_density / competition_intensity / tqi / red_flags),通常由 report_generator.py 从地图数据与分析结果自动推导,亦可由 map_data.json 直接提供(schema 见 references/map_mcp_guide.md)。
4. 注意事项
- 地图数据是代理,不是实时人流:地图 MCP 提供 POI 密度、业态构成、路网可达性等空间代理指标,是客流潜力的强信号;真实客流仍需现场分时段人工计数或第三方移动大数据补充。二者在报告中须明确区分。
- 置信区间非收益承诺:三情景回本区间为数据推演,不代表确定结果;悲观情景受"竞争分流 50% 半实现"假设影响。
- Red Flag 一票否决:命中消防 / 排烟 / 产权 / 排污硬伤,系统直接终止评估,不进入乐观叙事。
- 竞争距离禁编造:竞品距离须来自地图 MCP 实测或现场测距,不得凭印象虚构。
- 数据来源透明度:未接入地图 MCP 时,商圈价值相关结论标注"人工估算/待补",不混入地图结构化数据的置信度。
- 地图数据出境必须 opt-in:调用地图 MCP 前须向用户明确说明"将把铺位地址/坐标发送至地图服务商"并征得同意;用户拒绝则纯本地降级,绝不静默外发。且仅地址/经纬度出境,财务与合规数据一律本地处理(详见「安全与合规」与
references/map_mcp_guide.md第六节)。 - 发布前替换作者:
SKILL.md的author字段当前为WorkBuddy,对外发布前请改为你的品牌。 - 环境要求:脚本仅依赖 Python 标准库;地图 MCP 采集需对应 MCP 已连接。
核心工作流(Workflow)
Stage 0 · 地图 MCP 数据采集(v3.0 新增 · 人流量/商圈价值)
⚠️ 出境前必须显式 opt-in(安全红线):地图 MCP 是外部服务,调用会把目标 位置信息(地址 / 经纬度) 发送给地图服务商。在首次调用任何地图 MCP 工具前, 必须向用户明确说明"将把该铺位地址/坐标发送至地图服务商"并征得同意;用户拒绝则 直接进入纯本地降级模式(见下方"未连接 / 拒绝"分支),不得静默外发。 详见「安全与合规」章节与
references/map_mcp_guide.md第六节。
若环境已连接地图 MCP(如 tencent-map)且用户已 opt-in,按
references/map_mcp_guide.md 的能力→工具→输出映射执行:
- 地理编码:地址 → 经纬度,写入
location.longitude/latitude。 - 人流量测量(代理):地图 MCP 不直接计数人头,但提供强代理——
- 周边 POI 密度与业态构成(商业密度、消费水平推断);
- 路网可达性(步行/驾车到地铁、公交、小区)。
同时要求用户补充现场分时段人工计数(午市/晚市/周末),填入
location.foot_traffic。
- 竞品分布:周边搜索(关键词=竞品品牌/品类,半径 500m)→ 映射为
competition[](name / distance_m / scale_sqm),并保留map_data.competitor_pois供报告展示。 - 消费水平 & 商业密度:由 POI 分业态计数推断(阈值见
references/benchmarks.md第十/十一节),写入map_data.consumption_level / commercial_density / trade_area_type。 - 可达性:步行路线规划 →
map_data.accessibility。
数据最小化:仅
location.address/ 经纬度会被发送至地图服务商;financials(租金/装修/客单等)、red_flags、category等商业与合规数据一律 只在本地参与计算,绝不外发。
未连接地图 MCP 或用户拒绝 opt-in 时:跳过本阶段,提示用户补充人工数据,并在报告中标注
⚠️ 未接入地图 MCP / 未授权外发,以下为人工估算/待补(降级策略见 map_mcp_guide.md 第五节)。
Stage 1 · Reilly's Law(雷利零售引力定律)→ 商圈分析
- 断裂点公式:
D_ab = d / (1 + √(S_b / S_a))d= 本店与竞品间距(m);S_a= 本店吸引力(面积);S_b= 竞品吸引力。D_ab= 自本店起、顾客偏好从本店转向竞品的断裂点距离(km)。
- 核心商圈半径 = 各竞品断裂点的最小值(受最近强竞品约束);无竞品时默认 1.5 km。
- 有效捕获面积(Catchment Area)= π × 半径²(km²)。
Stage 2 · TQI(Traffic Quality Index,客流质量指数)
- 原始日客流(Network Analysis 折算)=
((午市+晚市)×5 + 周末×2)/7 × 日曝光放大系数(4)。 - 可视衰减因子
visibility_decay(angle):<30°→0.70;30–60°线性 0.70→1.00;≥60°→1.00。 - 阻抗因子
impedance_factor:台阶×0.85、隔离带×0.70、挑高低×0.90、柱头×0.92、停车难×0.85(乘性叠加)。 TQI = 可视衰减 × 阻抗。修正后有效日客流 = 原始日客流 × TQI。- 捕获率(Capture Rate):按品类基准(快餐 3–5%、正餐 1–2%、茶饮 5–8% 等),中性用基准值, 悲观按竞品分流潜力 50% 实现折减。预计日翻台/客单 = 修正后有效日客流 × 捕获率。
Stage 3 · Hotelling 区位模型 → 竞争影响
- 单竞品分流率:距离<100m 且规模相当时 20–40%(本店规模大→下探 20%,竞品规模大→上探 40%); 100–300m 线性衰减至 5%;≥300m 视为 0。
- 综合分流率 =
1 − Π(1 − 单竞品分流率),上限 85%。
Stage 4 · 财务建模 + 三情景
- 总投资 = 装修设备 + 首期租金(押+付) + 转让费。
- 贡献毛利率
CM = 1 − cogs_ratio − opex_ratio;月固定成本 = 月租(opex 已按营收比例计入变动)。 - 盈亏平衡点(月营收)= 月固定成本 / CM。
- 三情景营收:乐观 = 中性 ×1.2(客流+20%);中性 = 修正客流×基准捕获×客单×30; 悲观 = 修正客流×悲观捕获(含竞争分流)×客单×30。
- 月净利润 = 营收×CM − 月固定成本;回本周期 = 总投资 / 月净利润。
- 置信区间 = [悲观回本, 乐观回本] 月;风险等级:≤12 Low / ≤18 Medium / ≤24 Elevated / >24 High。
Stage 5 · 品类选址建议(v3.0 新增 · 数据驱动)
调用 scripts/category_recommender.py,基于 map_data 中的商圈类型 / 消费水平 / 商业密度 /
竞争强度 + 分析引擎的 TQI + 合规硬伤,输出餐饮品类评分排序与回避清单:
- 评分 0–100,绿(推荐)≥70 / 黄(慎选)50–69 / 红(回避)<50。
- 核心逻辑(透明):商圈适配 + 消费匹配 + 商业密度 − 竞争敏感度×竞争强度 ± 消费溢价 ± TQI − 合规硬伤。
- 冲动型低壁垒品类(茶饮/烘焙)对红海最敏感;高壁垒目的地品类(火锅/正餐)最抗竞争。
生成决策报告
调用 scripts/report_generator.py --json input.json [--map-json map_data.json],
自动整合 Stage 1–5 结论,输出面向餐饮选址决策人的 Markdown 报告(详见下节)。
输出规范:决策人 Markdown 报告
严格输出以下 7 节(由 report_generator.py 生成,含 ASCII/表格可视化):
一、决策摘要(一页结论)
- 综合裁定:🔴红·终止 / 🔴红·高风险 / 🟡黄·条件推进 / 🟢绿·推进 + 一句话理由。
- KPI 卡:有效日客流、预计日翻台、总投资、中性回本、回本置信区间、首选品类。
- 核心结论 3 条(商圈 / 客流 / 财务)。
二、地图数据勘察(商圈价值)
- 地理坐标、可达性(最近地铁/步行分钟)、消费水平、商业密度、商圈类型、业态构成(POI 计数)。
- 地图核验链接(卫星/街景)。未接入 MCP 时标注人工估算。
三、商圈与客流(Space & Traffic)
- Reilly 断裂点、有效捕获面积、TQI。
- 客流漏斗 ASCII:原始日客流 → ×TQI → ×捕获率 → 日翻台。
四、竞争态势(Competition)
- 逐竞品表(距离/规模/断裂点/分流率)+ 综合分流率。
五、财务预测(Financial Projection)
- 三情景表(月营收/月净利润/回本周期)+ 回本区间 ASCII 条形(标注 12 月安全线、24 月警戒线)。
六、品类选址建议(Category Fit · 数据驱动)
- 首选品类 + 回避清单 + 评分排序表(含等级/壁垒/投资/依据)。
- 决策象限(消费水平 × 竞争强度 → 适配品类)。
七、行动清单(Action Plan)
- 🟢 立即推进 / 🟡 签约前条件(谈判筹码:租金下调%、免租天数)/ 🔴 否决项(Red Flag)。
约束(Constraints)
- 输出必须包含 置信区间,不得承诺确定性收益;明确"本结果仅为数据推演"。
- 必须使用 GIS 术语(Buffer Zone、Network Analysis、Catchment Area、断裂点等)。
- 若
red_flags含消防/排烟/产权/排污硬伤 → 直接判定 "Red Flag: Project Termination", 输出强硬否决建议,不进入财务测算的乐观叙事。 - 数据来源透明度:区分"地图 MCP 结构化数据"与"人工估算",不得混淆置信度。
- 末尾标注:本测算基于行业平均值、空间经济模型与地图结构化数据,具体经营结果取决于实际运营能力。
安全与合规(Security & Compliance)
本 Skill 通过静态分析(无网络/子进程/eval/exec/文件外泄代码)与最小数据出境原则保障安全。 地图 MCP 是唯一的外部数据出境通道,对其使用受以下硬性约束:
- 出境前显式 opt-in(不可静默外发):在首次调用任何地图 MCP 工具前,必须主动向用户说明 "将把该铺位地址/坐标发送至地图服务商"并显式征得同意。用户拒绝则立即进入纯本地降级模式, 不得绕过、不得静默补发、不得用"已读默认同意"等话术默认授权。
- 数据最小化(Data Minimization):仅
location.address与经纬度(地理编码所需)会被发送至 地图服务商;financials(租金/装修/客单等)、red_flags(消防/产权等合规硬伤)、category(拟选品类)等商业与合规敏感数据一律只在本地参与计算,绝不外发。地图返回的空间代理数据 (POI 密度/业态/可达性)亦仅用于本地分析,不回传任何第三方。 - 纯本地降级模式:未连接地图 MCP 或用户拒绝 opt-in 时,跳过所有地图调用,改用人工估算
推进,并在报告中明确标注
⚠️ 未接入地图 MCP / 未授权外发,以下为人工估算/待补,不混入地图 数据的置信度。 - 触发透明:即使命中"选址/人流量/竞品"等宽泛关键词,也不会在取得 opt-in 前自动外发位置; 宽泛触发只用于启动"本地分析 + 询问是否采集地图数据"的对话,而非直接出境。
- 无隐藏行为:所有脚本仅用 Python 标准库,无
urllib/requests/socket/subprocess/eval/exec/ __import__/open(https...)等任何联网或动态执行代码;本 Skill 不会写入、上传或外泄用户文件系统的 其他数据。
完整数据流与最小化细则见
references/map_mcp_guide.md第六节。
少样本示例(Few-Shot,引擎实算)
Input(Spec 内置示例 JSON):新店001 / 正餐 / 可视角度 45° / 客流 2500·800·1800 / 竞品A 50m·150㎡ / 月租5万·3押1付·装修30万·客单45·COGS35%·OPEX25%。
执行链:
python scripts/roi_calculator.py --demo→ 量化结论(断裂点/捕获面积/TQI/三情景)。python scripts/category_recommender.py --demo→ 品类排序。python scripts/report_generator.py --demo --map-json examples/demo_map_data.json→ 决策人 Markdown 报告(见examples/decision_report_demo.md)。
报告节选:
【决策摘要】综合裁定:🔴 红·高风险(中性回本 17.2 月,风险 High)
有效日客流 9,763 人 | 预计日翻台 146 单 | 总投资 ¥50.0万
回本置信区间 29.0–11.1 月 | 首选品类:火锅(黄·慎选)
【客流漏斗】原始 11,486 → ×TQI 9,763 → ×捕获率 146 单/日
【回本区间】乐观11.1 ███ 中性17.2 █████ 悲观29.0 ████████(超24月警戒线)
【品类】饱和商圈中目的地品类(火锅/正餐)相对优于冲动红海(茶饮),需差异化突围
【行动】租金下调10% + 45天免租期;排烟/产权硬伤一票否决
完整示例报告:
examples/decision_report_demo.md(已随 Skill 附带,可由你直接审阅格式)。
参考资源
| 文档 | 内容 | 何时加载 |
|---|---|---|
references/benchmarks.md | 可视衰减/阻抗映射、品类捕获率、Reilly/Hotelling 模型、消费水平/商业密度分级、商圈类型、品类推荐矩阵、押付解析、GIS 术语表、假设说明 | 每次测算引用基准与公式时 |
references/map_mcp_guide.md | 地图 MCP 能力→工具→输出映射、map_data schema、降级策略、安全与数据流(出境opt-in/数据最小化)、数据质量红线 | 调用地图 MCP 采集数据时 |
scripts/roi_calculator.py | 精确分析引擎(Reilly/TQI/Hotelling/三情景/置信区间/Red Flag) | 用户提交 JSON 后执行 |
scripts/category_recommender.py | 数据驱动品类推荐引擎(评分矩阵/回避清单) | Stage 5 执行 |
scripts/report_generator.py | 决策人级 Markdown 报告生成器(可视化/行动清单) | 最终输出报告 |
核心金句
- 流量不等于生意——TQI 把"通过人流"折算成"进店人流"。
- 断裂点告诉你:超出 X 米,顾客就归竞品了。
- 没有置信区间的选址建议,都是伪科学。
- 饱和商圈里,目的地品类比冲动红海更抗竞争——选品就是选护城河。
- 消防/排烟/产权硬伤,再便宜也是雷——Red Flag,直接终止。
Related skills
基于高德开放平台的商铺选址分析 Skill。支持单地址选址分析(竞品搜索、配套评估、交通态势、热力图可视化)和多地址对比分析(雷达图、柱状图、评分排名、聚合地图)。让 AI Agent 一句话完成开店选址评估。
零售连锁拓店选址专家,分析品牌门店规模、区域层级、业态结构、周边画像与候选点竞争。适用于拓展经理、选址团队和区域负责人筛选机会城市、比较地址或判断覆盖空白。
餐饮拓店机会区域、候选地址竞争与现场验证优先级分析。 可将腾讯地图中复制出的地点名称和地址文本作为地点输入;基于店店通已发布门店快照生成可核验结论。本 Skill 非腾讯地图官方产品,和腾讯地图不存在合作、授权或数据来源关系。
零售连锁的机会城市、候选地址竞争和拓店顺序分析。 可将腾讯地图中复制出的地点名称和地址文本作为地点输入;基于店店通已发布门店快照生成可核验结论。本 Skill 非腾讯地图官方产品,和腾讯地图不存在合作、授权或数据来源关系。
餐饮品牌开关店、区域扩张、竞对密度与候选点机会分析。 可将腾讯地图中复制出的地点名称和地址文本作为地点输入;基于店店通已发布门店快照生成可核验结论。本 Skill 非腾讯地图官方产品,和腾讯地图不存在合作、授权或数据来源关系。