For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt, and this page is available as Markdown at /funding-strategy/02-产品说明书/01-my-stores.md.

1. My Stores

My Stores 是管理多家门店的人看的多店对比表:同一个日期范围下,每家门店一行,最下面一行 "Total" 是全部门店的合计。想看某一家店的细节,点门店名就跳到那家店的 Dashboard;点某个数字就跳到能解释这个数字的清单页(线索、任务或电话列表)。

入口在侧栏最上方 "General" › My Stores(点侧栏顶上的 Retaintive 标志也到这里)。这是登录后所有能访问门店的用户都能打开的页面,代码里没有按角色(Owner / Editor / Viewer)区分显示内容。进入某家店之后,侧栏顶部有 "My Stores" 返回按钮(提示 "Back to My Stores"),会带着当前日期范围回到这页。

1 页面框架

(1) 内容

页面标题 "My Stores",右上角两个按钮 "Export Report"、"Grab Snap";工具栏左边三个页签 "Leads" / "Tasks" / "Calls",右边是 "Help" 按钮、日期范围下拉和 "Compare: …" 下拉。

项目说明
哪些门店会出现在表里你自己建的门店(你是 Owner)+ 别人在 Access Management 里加你进去的门店(你是 Editor 或 Viewer),且只列已激活的门店。一次最多支持 50 家门店,超过后端会直接报错
日期范围写在网址里(?startDate=&endDate=);网址没写日期时沿用本次会话最后一次选的范围,首次打开预设为截至今天的最近 7 天。这一页同时看多家店,没法用某一家店的时区,所以"今天"按你电脑的时区定;人在国内看美国的店,默认的"今天"可能比店里早一天,看最近一两天的数据时手动选日期。统计时每家店各按自己当地的日期算,纽约店按纽约的一天、洛杉矶店按洛杉矶的一天,横向比较是公平的。
对比期间"Compare: Previous period"(环比:和紧挨着的上一段等长期间比,选了 7 天就和再往前的 7 天比)或 "Same period last year"(同比:和去年同一段日期比,天数保持一致)。默认是 Previous period。
页签网址 ?tab=leads / task-performance / call-activity,默认 Leads。三张表共用同一次数据请求,切页签不重新加载
门店名每行的门店名是按钮,点击切换当前门店并跳到 /store-detail/<门店>,带上当前日期范围:从 Tasks 页签跳过去落在单店 Dashboard 的 Tasks 页签,从 Calls 页签落在单店 Dashboard 的 Calls 页签,从 Leads 页签落在单店 Dashboard 默认页签(Leads)
数字格可点的数字带虚线下划线(Calls 页签的 Total 例外:显示为链接色,悬停才出下划线),跳到对应清单页(各页签下面写明去处)。"—" 表示这一格没能统计出来(后端查询失败或缺少必要数据),不是 0;真正的 0 会显示 "0" 且仍可点
Total 行各列合计,不可点。凡是某家店那一格是 "—",合计也是 "—",不会把已知的店加起来冒充全部

日期范围会在带 preserveDateRange 标记的页面之间保留(例如从这里点进单店 Dashboard 再回来,日期不变)。

(2) 管理价值

多店管理者一眼看到哪家店线索转化差、任务结果少、电话量异常,再点进去查原因,不用一家家切店。

(3) 使用方法

先选日期范围和对比期间,再切页签看表。看到异常的格子直接点数字进清单核对;想看这家店完整情况点门店名。想把表发给别人用 "Export Report"(CSV)或 "Grab Snap"(截图),见第 6 节。

2 Leads 页签

(1) 内容

Received 显示事件数,Unique / Outreached / Contacted / Intros Booked 四列只显示人数;最右列显示整体预约率和变化。时间口径是线索进来的时间:统计选定期间内到达的线索,后续联系、预约的证据也只在这段期间内找。

列口径点击去处
"Received"期间内收到的原始线索事件数:邮件线索 + 电话/短信识别出的线索,按事件数,不去重不可点。
"Unique"上述事件去重并通过校验后的实际客户人数/leads-v3,带门店和日期,列出的正是这批人
"Outreached"Unique 里有联系证据、且已建了线索任务的人数:证据包括触发建任务的那通来电/来信本身、从门店号码打出去的电话(含打到语音信箱的)、发出的短信,或员工记录的联系动作Tasks 页面的线索任务清单(/tasks/lead,阶段 Outreached,按线索到达日期筛选)
"Contacted"Outreached 里有成功联系上证据的人数:接通的电话不分方向,客户回短信也算同上,阶段 Contacted
"Intros Booked"Contacted 里已预约体验课的人数(系统记录的预约进度、任务以 "booked" 关闭、或表单自带预约,三者取并集)同上,阶段 Intro Booked
"Unique → Intros Booked"整体预约率 = Intros Booked ÷ Unique,后面跟着相对对比期间的变化,单位是百分点("↑3 pp" 绿色、"↓3 pp" 红色、没有对比基数时显示 "—")不可点

两个特殊情况:

  • 门店没有绑定电话号码(或号码查询失败)时,"Outreached" 和 "Contacted" 显示 "—" 且不可点,因为没有门店号码就分不清哪通电话是店里打出去的;"Received"、"Unique"、"Intros Booked" 不受影响。
  • 点 Outreached / Contacted / Intros Booked 进去的任务清单开着和关了的任务都列(状态 all),并带 "Lead Funnel"、"Stage: …" 筛选片。

Total 行:各列人数相加(任一店未知则为 "—"),预约率按合计的 Intros Booked ÷ 合计 Unique 重新算,不是各店比例的平均。

(2) 管理价值

横向比较各店的漏斗,看人数从 Unique → Outreached → Contacted → Intros Booked 哪一步掉得最多,判断是"线索没人联系"、"联系不上"还是"联系上了没预约",再看整体预约率相对上期升还是降。Received 与 Unique 的差距能看出重复提交和无效线索的比例。

(3) 使用方法

先看最右列整体预约率和趋势找出落后的店,再从左到右看哪一环人数掉得最多,点那一格进任务清单看具体是哪些人、谁在跟。

3 Tasks 页签

(1) 内容

这一页看的是:这段时间每家店关了多少任务、其中办成了多少事。五列里前四列是数量,最后一列在正式环境里一直是空的。

列是什么怎么数点击去处
"Closed Tasks"关掉的任务数所选期间内关闭的任务,不管什么类型、什么结果,按关闭那天算/tasks,筛出这些已关闭的任务
"Intro Booked"预约了体验课的人数和 Leads 页签最后一列是同一个数:这段时间进来的线索里,有多少人预约了体验课。数的是人,按线索进来那天算和 Leads 页签同一个清单
"Membership Conversion"办了会籍的任务数员工把客户的任务关掉、选"已办卡"、填上办卡日期,算一张,按办卡那天算。AI 识别出办卡会弹审批让员工确认,确认后才算。门店开了 Automatic 档后 AI 自己关掉的办卡不算(当前缺口,见当前限制)不可点
"Cancel Saved"挽留成功的任务数会员来说要取消,员工处理后关闭任务时选"留住了",算一个,按关闭那天算。副标 "Legacy outcome" 的意思是只看员工选的结果,系统不另外核实/tasks,筛出关闭结果为 cancel_saved 的任务
"Team Productivity"一个比例正式环境一直显示 "—",可以忽略。 只有后台用旧算法时才有数:(旧算法的预约 + 办卡 + 挽留任务数) ÷ (体验课 + 会籍 + 取消类通话数),它和本表其他列口径对不上,所以新算法一开就整列置空,副标 "Not comparable"不可点

三点注意:

  • 五列的单位不一样:Intro Booked 数的是人,其余数的是任务;日期也不一样:Intro Booked 按线索进来那天,Membership Conversion 按办卡那天,另外两列按关闭那天。所以同一行的数不能相加、相除。
  • 后台有个开关决定 Membership Conversion 用新算法还是旧算法(旧算法叫 "Membership Sold",直接数关闭时选了"已办卡"的任务,不看日期和证据)。test 和 prod 都开着新算法,正式产品里只会看到 "Membership Conversion"。新算法查询出错时显示 "—" 并标 "Temporarily unavailable",不会拿旧算法的数顶上。
  • Help 弹窗对这页的说明原文:"Intro Booked uses the same lead funnel definition as the Leads tab, so both tabs always report the same number. A count we cannot confirm shows a dash — never a zero, and never a substitute number from a different way of counting."

(2) 管理价值

看各店这段时间干了多少活(Closed Tasks)、办成了多少事(预约、办卡、挽留)。Intro Booked 和 Leads 页签是同一个数,两张表不会打架;Membership Conversion 只算员工确认过的,数字偏保守。

(3) 使用方法

先比 Closed Tasks 看工作量,再比 Intro Booked / Membership Conversion / Cancel Saved 看产出;关得多但产出少的店,点 Closed Tasks 进任务列表看关闭结果都是什么。Team Productivity 不用看。

4 Calls 页签

(1) 内容

列口径点击去处(/calls-v3,带门店、日期)
"Total"有人接通的通话数,旁边小字 "N out · M in" 是呼出 / 呼入拆分(手机宽度下不显示)状态 live_call,方向 Inbound,Outbound
"Intro"AI 分类为体验课预约相关的接通通话子类 intro_booking
"Membership Purchase"分类为影响营收、子类会籍购买相关的接通通话类别 revenue_impacting,子类 membership_purchase_related
"Cancellation"分类为影响营收、子类会籍取消的接通通话类别 revenue_impacting,子类 membership_cancel

表格下方的 "Include voicemail" 开关(默认打开):打开时,四列各自额外加上同类型的语音留言。点击数字进清单页时,状态筛选跟着这个开关走(开关打开则筛 live_call,voicemail,关闭则只筛 live_call),保证点进去看到的条数和格子里的数字一致。

(2) 管理价值

比各店电话总量和三类关键电话的多少:体验课电话少说明获客端弱,取消电话多要关注留存。配合 Tasks 页签的 Team Productivity 看"电话换来多少结果"。

(3) 使用方法

先决定要不要算留言(开关会同时影响导出的 CSV),再横向比各列;点数字进电话列表听录音、看逐字稿。

5 当前限制

  • 只列已激活且你有权限的门店;一次最多 50 家。页面没有排序、筛选、搜索,行的先后顺序代码里没有规定。
  • 所有能访问的用户看到的内容一样,代码里没有按 Owner / Editor / Viewer 区分列或按钮。
  • "Received" 不可点(没有按原始事件列出的清单页);新口径下的 "Membership Conversion" 不可点;"Unique → Intros Booked" 与 "Team Productivity" 不可点。
  • "Team Productivity" 只在新口径关闭时显示;新口径启用后整列为 "—"。
  • Calls 页签不显示与对比期间的变化;后端返回的通话趋势字段页面没有渲染。
  • 门店没有绑定电话号码时,"Outreached"、"Contacted" 为 "—"。
  • 门店没有设置时区时,后端按美国太平洋时区算这家店的统计窗口。
  • Membership Conversion 只统计员工手动关闭(或批准 AI 提议后关闭)的办卡;门店 Task Automation 在 Automatic 档时 AI 自动关闭的办卡不计入,报表会少算。新店默认就是 Automatic 档。
  • "Grab Snap" 只截当前页签;CSV 才是三个页签一起导。

6 实现依据

本篇按本地代码核查,页面实际启用情况以部署版本为准。

页面壳 · Leads 表 · Tasks 表 · Calls 表 · Help 弹窗 · 格子取值 · 未知值处理 · CSV 导出 · 点击去处 · 线索跳转规则 · 日期范围 · 侧栏 · 旧路由转向 · 多店 API · 门店时区窗口 · 指标 SQL 与合计 · 关闭任务口径 · Team Productivity 公式 · 漏斗口径 · 报表口径说明 · 新口径开关配置