标准化 SaaS 成品 · 千店统一部署 · 落地即用的商业盈利型产品
为实体门店(健身房 / 瑜伽 / 教培 / 美业 / 餐饮零售等需"到店消费+会员运营"场景)提供一套全网统一、底层不可篡改的积分锁客系统。 千店只部署一套代码,所有规则统一、参数统一、风控口径统一,门店端无修改权限,杜绝"千店千规矩"的运营混乱。
核心矛盾的两端同时拉满:
- 拉新端:新人奖励、裂变分润、生日礼遇、唤醒激励,把福利打到极致;
- 成本端:三重封顶(30% / 200 元 / 12 个月)、成本率钳制(5%–8%),把成本锁死。
| # | 需求模块 | Demo 页面 | 入口 |
|---|---|---|---|
| 1 | 底层固定核心规则 | 🔒 底层固化规则中心 | ?page=rules |
| 2 | 自动积分核算与全周期梯度奖励 | ⚙️ 自动积分核算 | ?page=points |
| 3 | 四级会员等级双门槛防薅 | 👥 会员与等级 | ?page=members |
| 4 | 老客裂变 + 风控兜底 | 🔗 裂变与倒扣风控 | ?page=fission |
| 5 | 硬核成本风控 | 🛡️ 成本风控中心 | ?page=risk |
| 6 | 新人留存 SOP 全节点 | 🎯 新人留存 SOP | ?page=sop |
| 7 | 千店统一礼品池 + 订单台账 | 🎁 千店礼品池 / 📦 兑换订单台账 | ?page=gifts / ?page=orders |
| 8 | 数据可视化报表 | 📈 数据可视化报表 | ?page=report |
| ⭐ | 数据驾驶舱 + 会员端预览 | 📊 驾驶舱 / 📱 会员端预览 | ?page=dash / ?page=app |
设计原则:规则以「常量 + 纯函数」固化在代码层,任何积分的产生与消耗必须经过本内核,禁止旁路。
RULES.version:内核版本号(每次规则升级都需发版 + 灰度)RULES.hash:规则包指纹(启动时校验完整性,检测篡改)RULES.signedAt:签发时间- 规则面板永久显示「完整性校验通过 · 未检测到篡改」
| 规则段 | 关键参数 | 说明 |
|---|---|---|
| 汇率 | RATE = 10 |
10 积分 = 1 元,全网唯一 |
| 有效课时 | valid = ['SIGNED_IN'] |
其余 4 类一律 0 分 |
| 课时分值 | GROUP = 10 / PT = 30 | 团课 1 节 = 私教 1/3 |
| 注册礼 | 100 分,一次性 | 终身仅 1 次 |
| 好评奖励 | 50 分,月 1 次 | 防刷 |
| 周出勤奖 | ≥3 有效课时 + 50 分 | |
| 月满勤奖 | ≥12 有效课时 + 200 分 | |
| 季满勤奖 | ≥36 有效课时 + 600 分 | |
| 累计梯度 | 10/30/50/100/200 课时 → 100/300/600/1500/3000 分 | 终身一次性 |
| 四级会员 | 银 / 金 / 铂 / 黑:双门槛详见下表 | |
| 风控 | 30% 单次 / 200 元月 / 12 个月 / 起扣 100 / 5–8% 成本 | |
| 裂变 | 到店 200 / 办卡 5% / 黑金二级 1% / 退费全倒扣 | |
| SOP | 注册 / 1 课 / 3 课 / 5 课 / 8 课:100+150+200+300+500 分 |
| 等级 | 累计消费 | 且 近 12 月有效消费 | 续费折扣 | 生日积分 | 裂变奖励系数 |
|---|---|---|---|---|---|
| 银卡 | ≥ 0 | ≥ 0 | — | 200 | 1.0× |
| 金卡 | ≥ 5,000 | ≥ 2,000 | 9.5 折 | 500 | 1.1× |
| 铂金卡 | ≥ 15,000 | ≥ 6,000 | 9.2 折 | 1,000 | 1.2× |
| 黑金卡 | ≥ 40,000 | ≥ 15,000 | 8.8 折 | 2,000 | 1.3× · 开放二级 |
"累计 + 近 12 月"双门槛 = 真正的活跃高客才能保住高等级,杜绝"躺平薅福利"。
激励成本 = ① 积分抵扣现金流出
+ ② 礼品履约成本(采购+物流据实)
+ ③ 未核销积分负债计提 60%
激励成本率 = 激励成本 ÷ 同期营收,安全区 5%~8%
- ① 真实让利,期末按实扣减;
- ② 按订单据实归集;
- ③ 当期发放未消耗的积分存量计提 60%(预测核销率)的让利成本,避免低估长期负债;
- 超 8% 自动降级门店浮动奖励系数,触发实时预警。
| 函数 | 输入 | 输出 | 用途 |
|---|---|---|---|
isValidLesson(rec) |
课时记录 | bool | 4 类无效直接挡掉 |
calcLevel(t, r) |
累计+近 12 月消费 | level | 四级会员判定 |
nextLevelGap(...) |
下一级缺口 | UI 进度条 | |
downgradeRisk(m) |
会员 | 预警信息 | 保级预警 |
calcDeduction(o, b, u) |
订单金额, 余额, 月已用 | 三重封顶结果 | 抵扣试算器 |
rollingBalance(g, c, n) |
批次发放, 已消耗, 当前 | FIFO 可用余额 | 12 个月滚动核销 |
computePointsLedger(m, r, n) |
会员+记录 | 完整台账(含无效留痕) | 自动积分核算 |
fissionReward(kind, amt, lv) |
奖励积分 | 裂变奖励(含等级加成) | |
costRate(r, d, g, n) |
三段式成本率 | 风控仪表 |
stores n 门店(city, brand, manager, openAt, profile)
members n 会员(name, joinAt, activity, totalSpend, spend12m, inviterId, sleepVip)
purchases n 消费订单(date, name, amount, micro)
records n 课时流水(date, type, status, coach, courseName)
events n 业务事件(REVIEW/BIRTHDAY/FISSION_*/CLAWBACK/DEDUCT/REDEEM)
ledger n 积分台账(date, code, name, points, memo, blocked)
grants ⊆ ledger>0 entries(用于 FIFO) → rollingBalance()
gifts n 礼品池(sku 1688 货号,cost 真实采购价)
orders n 兑换订单(status: PENDING/SHIPPED/SIGNED)
fission n 裂变台账(inviter, invitee, kind, amount, points, level, status)
alerts n 系统预警(high/mid/low:成本/出勤/库存/裂变/账户)
Demo 中数据用 mulberry32(20260804) 种子化生成,任何浏览器刷新得到一致结果,便于演示与截图。
- 5 个核心 KPI:门店 / 会员 / 积分存量 / 激励成本率 / 有效课时占比
- 双轴趋势图:积分发放/消耗/兑换 + 激励成本率(带 8% 红线)
- 成本仪表:指针停在安全区,并拆解三段式成本构成
- 等级分布环形图:黑金 / 铂金 / 金 / 银 配比
- 门店激励成本率 Top 8 排行榜
- 系统预警实时卡片(high / mid / low)
- 顶部展示内核版本 / hash / 签发时间 / 校验状态 / 🔒锁定标识
- 5 个分块:① 汇率与课时判定 ② 梯度奖励 ③ 四级会员双门槛 ⑤ 三重风控
- 规则一致性自检:每日 03:00 自动巡检,列示四项检查项
- 实时试算器:调用规则内核
calcDeduction(),三个约束条件实时比较并高亮"生效约束" - 门店激励成本率明细表
- 三段式成本构成卡片(① 抵扣 ② 礼品 ③ 计提)
- 12 个月滚动有效期机制说明(FIFO / 提前 30 天提醒 / 自动清零)
- 4 个 KPI:会员总数 / 黑金+铂金 / 保级预警 / 30 天未到店
- 会员列表:搜索 + 等级筛选 + 保级预警标识
- 点击任一会员 → 右侧抽屉展示:
- 个人积分三块 KPI(可用 / 累计获取 / 本月剩余抵扣)
- 等级与升级进度条 + 防薅判定
- 积分批次(FIFO)+ 90 天内到期提醒
- 70 条积分台账明细(含无效课时拦截留痕)
- 4 个 KPI:流水总量 / 有效 / 拦截 / 节约成本
- 课程签到 → 积分发放 → 触发链路六步解析
- 流水表:60 条最新记录,含"规则拦截、不计有效课时"留痕
- 来源结构:Top10 奖励类型积分占比横条图
- 5 节点时间轴:注册 / 首课 / 3 课 / 5 课 / 8 课结业
- 节点到达漏斗:5 级横向对比
- 新客推进看板:每人 5 个 SOP 节点状态(✔ 完成 / ⬜ 待激活)
- 4 个 KPI:裂变事件数 / 裂变带来新客营收 / 获客成本 / 退费倒扣拦截
- 裂变规则详解 + "层级 ≤ 2、积分不可提现"合规设计提示
- 裂变明细台账:邀请人 / 新客 / 类型 / 关联金额 / 奖励积分 / 状态
- 总部统一礼品池:12 SKU + 1688 货号 + 真实采购成本
- "🔒 门店无改价权限"标识
- 兑换热度 Top 8
- KPI:库存告警 SKU 数(< 100 件自动预警)
- 订单总量 / 待发货 / 在途 / 已签收 履约率 100%
- 状态筛选 + 一键导出 1688 一件代发 CSV(实际下载测试)
- 轻量化履约方案:四步全图(不下发任何电商 API)
- 4 个 Tab:
- 月报表:发放/消耗/兑换柱图 + 月度完整数据表(含激励成本率徽章)
- 日报表:近 30 天双折线
- 门店对比:出勤达标率 + 裂变活跃度 Top 排行 + 全门店对比表
- 异常预警(与驾驶舱预警联动)
- 报表导出 + 自动订阅标签(每日 08:00 店长日报 / 每月 1 日总部月报)
- 并列展示微信小程序 4 个页面(手机框模拟):
- 首页:积分(10 分=1 元) + 等级徽章 + 升级进度 + 本月抵扣额度 + 积分明细
- 任务中心:SOP 节点 + 出勤挑战 + 邀请好友
- 积分商城:8 款礼品,可兑换的亮蓝、不可兑换灰
- 我的:权益 / 兑换订单 / 积分有效期
| 层 | 实现 | 说明 |
|---|---|---|
| 规则内核 | 纯 JavaScript(rules.js) |
Object.freeze 防篡改 + hash 校验 |
| 数据层 | 种子化 Mock(data.js) |
生产替换为 MySQL + 事件总线 |
| UI 框架 | 原生 DOM 渲染(app.js) |
0 依赖、0 框架、轻量化 |
| 图表 | 0 依赖 SVG(charts.js) |
折线 / 柱状 / 双轴 / 环形 / 仪表 / 横条 |
| CSS | 手写变量化(style.css) |
CSS 变量,浅色高对比 |
| 演示数据 | mulberry32(20260804) | 刷新结果一致 |
特点:零依赖零打包,浏览器直接打开 index.html 即可运行;亦可通过 ?page=xx 直达任一页。
- 规则引擎 → Node.js / Rust 独立服务,规则包用 semver + 数字签名,启动校验 ② 灰度发布;
- 事件总线 → Kafka / RocketMQ,签到 / 消费 / 兑换事件先入总线后再发分;
- 数据存储 → MySQL(事务一致)+ ClickHouse(聚合报表);
- 多租户 → 总部 / 区域 / 门店 三级权限,按 store_id 隔离数据;
- 风控引入 → 离线 T+1 复核 + 实时反作弊(指纹 / 设备 / LBS);
- 礼品中台 → 接入 SPU 标准化、SKU 库存镜像、自动对账 + 售后工单;
- 报表 → 日 / 周 / 月报模板化 + 自定义看板 + 移动端推送;
- AI 升级 → LLM 客服 + 智能推荐玩法 + 自动巡店报表。
points-saas-demo/
├── index.html # 单页入口
├── assets/
│ ├── css/style.css # 样式层(CSS 变量 + 浅色主题)
│ └── js/
│ ├── rules.js # ⭐ 规则内核(不可篡改层)
│ ├── data.js # 种子化演示数据
│ ├── charts.js # 零依赖 SVG 图表
│ └── app.js # 11 个页面视图层
└── README.md # 本文档
打开方式:双击 index.html,或浏览器打开 file://...index.html,支持 ?page=dash|rules|risk|members|points|sop|fission|gifts|orders|report|app 直达任一页。
核心理念(写在 README 扉页): "千店一套代码、规则固化、福利拉满、成本锁死。门店端没有'调整',只有'使用'——这才叫 SaaS。"