thread-master/docs/product/demand-radar/requirements.md

228 lines
23 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Requirements: 商機雷達+成交 CRM個人品牌的輕量 Growth OS
> Status: `approved`
> Status note: 使用者 2026-07-31「批准進 spec」金流已存在 → 方案配額改列 P0、價格校準改列 P1
> Slug: `demand-radar`
> Last updated: `2026-07-31`
> 輸入真相2026-07-31 使用者產品構想(賣鏟子定位);`apps/web` 與 `apps/backend` 現況能力;`docs/product/haixun-backend/`(已交付底座);`docs/product/growth-loop/`(成果歸因與健康分加值層)
> 已鎖定前置決策:本 run 為**加值層**,沿用既有前後端,不新開 app第一版訊號來源**只做 Threads +使用者手動匯入**
## 1. 一句話
把巡樓從「品牌找正在抱怨痛點的買家」擴成「**服務者與一人公司每天收到一份『正在找你的人』名單,並一路追到成交**」:由 **商機雷達**(每日自動找需求)、**AI 回覆助手**(記得你的品牌與底線)、**超輕量 CRM**(八狀態追到錢)三個模組組成。
賣的不是「AI 幫你寫貼文」,而是「**我幫你少花時間找客戶,並提高接到案子的機率**」。
## 2. 誰用、在什麼情境
| 角色 | 目標 |
|------|------|
| 接案型服務者(攝影師、婚禮主持、剪輯師、網頁設計師) | 每天有人幫我把「正在詢價的人」整理好,我只要決定回不回 |
| 在地服務/一人店(美甲師、寵物美容、健身教練、營養師) | 只要地區對得上的需求,外縣市不要進我的名單 |
| 業務型自由工作者(保險、房仲、自媒體顧問) | 從第一次接觸到成交都在同一條線上,不靠記憶與截圖 |
| 團購主/小電商 | 把留言與私訊變成可追蹤的名單,知道哪個關鍵字最會成交 |
| 既有品牌島民(現在在用海巡) | 既有海巡命中也能收斂進同一條成交線,不用換工具 |
| 營運/管理員 | 看得到「關鍵字 → 回覆 → 成交」的轉換率,據此調整方案與定價 |
## 3. 背景與動機As-is → 為什麼改)
**市場判斷(本 run 的存在理由):**
- **創作者已經不缺生成文案的工具。** ChatGPT、Canva、Notion 在內容生成這格已經贏了,正面對撞不划算。真正缺的是把「發文、互動、私訊、名單、報價、成交、追蹤」**串成一條線**。
- **台灣市場的在地性是可守的優勢。** Threads 上「不懂就問脆」「求推薦」是既有的高頻行為,品牌與店家本來就會人工搜尋並回覆(俗稱海巡)。這是**把既有人工行為工具化**不是憑空創造需求。LINE 有完整雙向 Messaging API2026 年起台灣一般開發者也能發布 LINE MINI App是後續的在地縱深。
- **使用者容易算帳。** 一個攝影案 NT$10,00030,000、一個網站案 NT$30,000200,000、一名顧問客戶每月 NT$5,00050,000相對於既有 Starter NT$590Pro NT$1,990 的月費,**多成交一單就回本**。收費遠低於一次成交價值,是好 SaaS 的特徵。
**現況落差(既有系統已有什麼、還差什麼):**
- **既有海巡的語意是「找正在抱怨痛點的人」**(品牌維護產品與痛點 → 命中貼文 → 外展)。服務者要的是「**找正在公開發需求的人**」:判定條件不同,需要的是明確需求、購買意圖、**地區是否符合**、**需求是否仍有效**。
- **掃描是使用者按一次跑一次。** 要承諾「每天幫你找客戶」,就必須是**常駐訂閱+每日自動巡**,而不是 on-demand。
- **命中的是「貼文」,不是「人」。** 同一個人多次發需求無法收斂成一個聯絡人;沒有跟進生命週期、沒有「幾天沒回覆」的提醒,成交與否只能靠記憶。
- **成果歸因只證明 ROI沒有回饋到打法。** 既有歸因能回答「賺回多少」,但回答不了「**哪個關鍵字最容易成交**」「**哪種回覆版本成功率最高**」。
- **不改的後果:** 產品停在「內容工具」象限,跟通用 AI 工具打價格戰;用戶算不出帳;只做 Threads 搜尋工具則護城河太薄,也容易受單一平台 API 與政策波動影響。
**已握有、本輪明確不重造的底座:**
1. **雙路徑抓取**:官方 API 路徑與 dev 模式下的瀏覽器工作階段路徑,已在既有海巡落地。
2. **貼文分類地基**:既有命中已能區分「求助/求推薦/同業叫賣/討論/提問/公告/雜訊」,並保留意圖片段與命中理由。意向分數是在這之上補地區、時效與服務匹配,**不是從零做分類器**。
3. **AI 供應商抽象與 BYOK 用量計量**、**Outbox 真發送與節流**、**成果歸因與 UTM 點擊**、**帳號健康分與送出閘**、**Stripe 訂閱與方案**、**站內通知**、**前端設計系統與 repository 契約**。
## 4. 目標To-be
### 4.1 必須達成P0— 每天有名單、回得出話、追得到錢
1. **服務檔案ServiceProfile**
使用者一次填好:服務項目、價格區間、代表案例、**不能說的內容**、常見問題、服務地區、可接案空檔。這份檔案同時餵給**商機判定**與**回覆生成**是「AI 回覆助手不是單純改寫」的來源。
2. **雷達訂閱每日自動巡RadarWatch**
使用者設定關鍵字(例:「台北 婚攝推薦」「有人會做網站嗎」「求推薦寵物美容」「公司想導入 AI」系統**每日自動巡**,不需手動按掃描。這是「每天幫你找客戶」的核心承諾,也是與既有 on-demand 海巡最關鍵的差異。
3. **商機判定五問與意向分數Opportunity**
每筆訊號由 AI 回答五問:**是不是真實需求**、**對方是否有購買意圖**、**地區是否符合**、**需求是否仍有效**、**是否值得放進潛在客戶名單**。輸出 0100 意向分數與高/中/低分級,**必須附判定理由**且使用者可覆寫分級。
4. **今日商機頁**
一眼看完當日產出:「今日找到 18 筆 高意向 5 ・中意向 8 ・低意向 5」以及每筆的原文摘要、意向分數、地區、發布距今時間、AI 建議回覆,與三個動作:**開啟原文**、**加入名單**、**產生其他回覆**。
5. **AI 回覆多版本**
同一筆需求可產出五種語氣版本:**公開留言版**、**私訊版**、**不帶銷售感版**、**專業版**、**幽默版**。回覆須讀得出品牌語氣與服務內容,且**不得違反服務檔案中「不能說的內容」**。
6. **超輕量 CRM 八狀態聯絡人聚合Contact**
狀態:**新發現 → 已互動 → 已私訊 → 對方回覆 → 已報價 → 已成交/未成交**,外加**待追蹤**。同一個人在同一平台多次發需求,收斂成同一個聯絡人,看得到完整接觸歷史。自媒體不會想維護複雜 CRM因此欄位與操作必須極簡。
7. **追蹤提醒FollowUp**
幾天沒回覆自動提醒(走既有站內通知),並可 **AI 產生追蹤訊息**,避免名單躺著爛掉。
8. **轉換統計(讓產品從內容工具升級成營收工具)**
成交來源統計、**哪個關鍵字最容易成交**、**哪種回覆版本成功率最高**。統計掛在既有成果歸因之上,不另做一套帳。
9. **方案配額掛載**
每日雷達訂閱數、每日商機上限、AI 回覆生成額度,掛進**既有 FreeStarterPro 三階方案**。金流與訂閱流程已存在,本 run 只定義配額與超限行為,不重做付費流程。**這是 P0 而非 P1**每日自動巡若無配額上限AI 成本會失控。
### 4.2 應該有P1— 補來源與收錢
1. **手動匯入商機**:貼上 ThreadsFacebook 社團貼文網址,或以 CSV 批次匯入。這是「不承諾全平台自動抓取」前提下的合規補位。
2. **報價與成交金額**CRM 的「已報價/已成交」可填金額與備註,寫入既有成果歸因,讓 ROI 頁與轉換統計有金額維度。
3. **價格帶校準**:依 P0 實際使用量與 AI 成本,決定是否調整既有 StarterPro 價格(見決策 #9 的價格落差)。
### 4.3 以後再說P2
1. **LINE 官方帳號雙向**:以 Messaging API 把私訊收進同一條 pipeline。
2. **Google 商家評論**、**網站表單 webhook**(自帶名單入口,不碰第三方平台)。
3. **自有 IGThreads 留言與私訊收斂**進聯絡人。
4. **可公開搜尋的論壇來源**
5. **空檔媒合**:依服務檔案的可接案空檔,對高意向商機提示可約時段。
## 5. 範圍
### In scope
- 上述 P0P1 的**產品行為定義**;前端 `apps/web` 與後端 `apps/backend` 皆會異動(經 spec → plan → tasks 才動碼)。
- **加值層定位**復用既有雙路徑抓取、貼文分類、AI 與用量計量、Outbox 發送、成果歸因、帳號健康分、通知、訂閱計費、前端設計系統。
- 第一版訊號來源限 **Threads官方 API 路徑dev 模式瀏覽器路徑)+使用者手動匯入**
- 既有海巡命中可**升級為商機**,讓現有品牌用戶無痛接上同一條成交線。
### Out of scope明確不做
- **不重做既有海巡抓取與發文主流程**——本 run 是加值層,不是重構。既有品牌/產品/三種海巡模式(產品置入、主題接話、關鍵字活躍)**保留不動**。
- **不承諾全平台自動抓取。** 第一版優先官方 API、公開搜尋結果與使用者主動匯入避免帳號封鎖與平台合規風險。
- **不擴大爬蟲路徑**:維持既有 dev 模式分流,不新增未經授權的模擬登入或規避手段。
- **不做自動大量發送**:送出仍受既有帳號健康分送出閘與 Outbox 節流約束;所有自動化保留「複製文案 → 手動送出 → 標記完成」的人工路徑。
- **不做重量級 CRM**:無自訂欄位、無自訂流程引擎、無團隊指派與業績目標、無 email 行銷序列。
- 第一版**不做 LINE、不做 Google 評論、不做網站表單**P2
- **不自動判定成交**:成交一律人工確認。
## 6. 命名決策(必須先鎖,否則契約會撞)
`lead` 一詞在既有後端規格中**已被 ThreadPlay 的「主帳號」佔用**`docs/product/haixun-backend/spec.md` 的「leadcast」「不可再當 lead 發送」)。本 run 一律不使用 `lead` 指稱銷售線索。
| 新名詞 | 中文 | 定義 | 與既有概念的關係 |
|--------|------|------|------------------|
| **Opportunity** | 商機 | 一筆經判定、值得跟進的需求訊號,帶意向分數與判定理由 | 承接既有海巡命中,但獨立成可跨來源、可改狀態的物件 |
| **Contact** | 聯絡人 | 跨貼文聚合的「人」,擁有接觸歷史與目前狀態 | 既有系統完全沒有這層 |
| **RadarWatch** | 雷達訂閱 | 常駐關鍵字監控設定,含地區與排除條件 | 既有掃描詞是按一次跑一次,這是排程訂閱 |
| **ServiceProfile** | 服務檔案 | 服務項目、價格區間、案例、不能說的內容、常見問題、服務地區、空檔 | 既有品牌/產品是「賣產品」語意(痛點、匹配標籤),服務者欄位不同 |
| **FollowUp** | 追蹤 | 幾天沒回覆的提醒與 AI 追蹤訊息 | 既有系統完全沒有這層 |
## 7. 已鎖定決策2026-07-31
| # | 議題 | 決策 |
|---|------|------|
| 1 | 意向分數組成 | 由五問加權得出 0100**需求真實性**、**購買意圖**、**地區符合**、**需求時效**、**服務匹配度**。分級:**高 ≥80中 5079<50**。**必須附人話理由**為何判高為何判低使用者可手動覆寫分級並記錄覆寫紀錄——覆寫紀錄是後續調校判定的訓練素材權重公式 spec |
| 2 | 同業與雜訊處理 | 既有分類中的同業叫賣」「公告」「雜訊」**預設不進商機**但仍可在完整命中列表看到避免誤殺。「求助」「求推薦為主要來源 |
| 3 | 每日巡的節奏與配額 | 每個雷達訂閱**每日至少巡一次**每日商機有**上限**防洗版與成本失控超出部分依意向分數排序截斷並告知每日訂閱數與商機上限依方案分級見決策 #9)。巡的觸發時段 spec 定一種寫死 |
| 4 | 聯絡人收斂規則 | **同一來源平台+同一作者帳號 → 同一聯絡人**跨平台**不自動合併**但允許使用者手動合併與拆分不做跨平台身分推測 |
| 5 | CRM 狀態轉移 | 八狀態**允許任意跳轉**自媒體實際流程不會照本走但每次轉移記錄時間戳與操作者。「已成交未成交為終態可重新開啟。「待追蹤是可與其他狀態並存的標記不是互斥狀態 |
| 6 | 回覆版本與計費 | 五版本公開留言私訊不帶銷售感專業幽默)。**首次生成預設只產公開留言版**其餘按需生成避免一次燒五倍點數生成走既有 AI 用量計量與 BYOK 規則。**「不能說的內容為硬性過濾**違反時不得輸出 |
| 7 | 追蹤提醒門檻 | 預設**無回應 3 **提醒一次最多提醒 **2** 仍無回應則建議轉為未成交」,**需人確認系統不自動關閉**。天數使用者可調 |
| 8 | 與既有海巡並存 | 既有三種海巡模式**原樣保留**。商機雷達是新的使用情境**共用抓取與命中儲存**但商機是獨立實體既有海巡命中提供升級為商機動作既有品牌用戶不需重建資料即可使用 |
| 9 | 定價與方案 | **金流與訂閱流程已存在**Stripe 訂閱結帳客戶入口webhook與既有 **Free NT$0Starter NT$590Pro NT$1,990** 三階方案** run 不重做付費流程**只把商機雷達的配額每日雷達訂閱數每日商機上限AI 回覆生成額度掛進既有方案並定義超限行為。**價格落差待決** 產品構想的 NT$4991,499 與既有 5901,990 不一致**P0 沿用既有價格不動** P0 實際用量與成本數據出來再校準P1避免為了對齊一個未驗證的數字而破壞既有毛利模型既有方案滿用毛利約 61%)。 |
| 10 | 成交回報 | **一律手動**從商機詳情或 CRM 卡片回報金額與備註選填寫入既有成果歸因不另建一套成交帳可事後修改刪除需留稽核精神 |
| 11 | 交付順序 | **硬性:** P0 內先做服務檔案 雷達訂閱與每日巡 商機判定 今日商機頁形成可展示的每日價值再做回覆多版本 CRM 追蹤提醒 轉換統計閉環配額掛載須與每日巡同批交付成本閘)。P1 補來源與價格校準P2 才碰 LINE 與其他平台 |
| 12 | 訊號降級 | 平台拿不到某訊號時**仍交付其餘訊號手動路徑**禁止因缺訊號整段不做沿用 `growth-loop` 既有降級原則)。 |
## 8. 使用者故事(可驗收)
### P0
| ID | 作為 | 我想要 | 以便 | 驗收要點 |
|----|--------|---------|--------|----------|
| US-01 | 婚攝 | 填一次服務檔案項目價格帶地區不能說的內容 | 之後的判定與回覆都懂我 | 檔案可建可改回覆生成明顯反映服務內容違反不能說的內容的字句不出現 |
| US-02 | 網頁設計師 | 設定有人會做網站嗎等關鍵字後就不用再管 | 每天自動有名單 | 訂閱建立後**次日無需人工操作**即有當日結果可暫停恢復 |
| US-03 | 美甲師 | 每筆商機告訴我意向分數與理由且分得出地區 | 只花時間在值得的人身上 | 每筆有 0100 分與高附人話理由外縣市需求被標為地區不符 |
| US-04 | 一人公司 | 一頁看完今日找到 N 高中低各幾筆 | 三分鐘決定今天回誰 | 今日頁含分級統計與卡片卡片有原文分數地區發布距今時間 |
| US-05 | 攝影師 | 對同一筆需求換不同語氣的回覆 | 公開留言與私訊要不一樣 | 可產出五種版本預設先給公開留言版其餘按需生成 |
| US-06 | 保險業務 | 把商機加進名單並推進狀態 | 不靠記憶追案子 | 八狀態可任意轉移並留時間戳同一人的多筆需求收斂在同一聯絡人下 |
| US-07 | 健身教練 | 三天沒回覆時提醒我並幫我想追蹤訊息 | 名單不會躺著爛掉 | 到期進站內通知可一鍵產生追蹤訊息最多提醒兩次後建議轉未成交且需人確認 |
| US-08 | 團購主 | 知道哪個關鍵字最會成交哪種回覆最有效 | 把時間押在對的打法 | 統計頁可見關鍵字轉換率與回覆版本成功率成交數據來自手動回報 |
| US-09 | 既有品牌島民 | 把既有海巡命中升級成商機 | 不用換工具不用重建資料 | 命中列表有升級為商機」;升級後進同一條 CRM |
| US-10 | 付費用戶 | 清楚知道我的方案每天能巡幾組能出幾筆商機 | 用超了不會被無預警斷掉 | 配額掛在既有 FreeStarterPro接近與超出上限都有明確提示不靜默中斷每日巡 |
### P1
| ID | 作為 | 我想要 | 以便 | 驗收要點 |
|----|--------|---------|--------|----------|
| US-20 | 寵物美容師 | 貼上一則 Facebook 社團貼文網址就能建商機 | 補上自動抓不到的來源 | 貼網址可建商機並跑判定CSV 可批次匯入 |
| US-21 | 顧問 | 記錄報價金額與成交金額 | 算得出這工具幫我賺多少 | 金額寫入既有成果歸因ROI 頁與轉換統計出現金額 |
| US-22 | 營運 | P0 真實用量與 AI 成本檢視價格帶 | 毛利不被每日自動巡吃掉 | 有每會員每月雷達成本數據價格調整與否有依據 |
### P2
| ID | 作為 | 我想要 | 以便 | 驗收要點 |
|----|--------|---------|--------|----------|
| US-30 | 在地店家 | LINE 官方帳號的私訊也進同一條 pipeline | 不用在兩個地方追客人 | LINE 訊息建立更新聯絡人可在 CRM 看到 |
| US-31 | 服務業者 | 網站表單送出直接進名單 | 自有流量也被接住 | 表單 webhook 建立商機 |
## 9. 成功標準
- [ ] **P0** 使用者設定關鍵字後**隔天不做任何操作**即可看到今日找到 N 高中低分級的商機清單
- [ ] **P0** 每筆商機都有意向分數判定理由與地區判斷且分級可被使用者覆寫
- [ ] **P0** 同一筆需求可產出至少五種語氣版本且不出現服務檔案中不能說的內容」。
- [ ] **P0** 至少一條「**關鍵字 商機 回覆 聯絡人 已成交**」的完整鏈路可展示
- [ ] **P0** 追蹤提醒會在設定天數後進站內通知並能一鍵產生追蹤訊息
- [ ] **P0** 統計頁能回答哪個關鍵字最容易成交哪種回覆版本成功率最高」。
- [ ] **P0** 商機雷達配額掛進既有 FreeStarterPro超限時明確提示且不靜默中斷每日巡
- [ ] **P1** 手動貼網址CSV 可建立商機並跑同一套判定
- [ ] **定性:** 使用者能說出這個月它幫我接到 N 個案子省了幾小時找客戶」,而不是只描述功能
- [ ] **商業:** 月費遠低於一次成交價值的定位成立——使用者**多成交一單即回本**這句話在產品內可被數據佐證
## 10. 約束與假設
- **約束**
- `AGENTS.md` 全部契約精神UTC unix nanosecondsJSON envelope 與成功碼、`page``pageSize` 分頁Job guarded 更新後端一律 goctl 產生會員 JWT AI provider token 分離
- **禁止未實作 API 回成功空資料**—— run 新增大量頁面此條特別容易被違反
- 前端不引入新 UI 框架不用 MUIAntChakra沿用既有設計 token 與元件庫不用 emoji 當主 iconTC 台灣語感
- **平台合規紅線** 優先官方 API 與公開搜尋結果爬蟲路徑維持既有 dev 模式分流不擴大所有自動化保留人工路徑
- `haixun-backend`、`growth-loop` 的關係 run **加值層**不重構其已交付能力成交歸因沿用 `growth-loop` 的成果事件不另建帳
- 交付順序遵守 `AGENTS.md`既有前端已 live run 前後端同步推進但每個能力**先有可驗收的產品行為定義**才動碼
- **假設未驗證當真**
- Threads 公開來源上求推薦不懂就問類需求貼文的**每日量體足以讓單一使用者每天看到有意義的筆數**。若量體不足需以放寬關鍵字建議與手動匯入補足
- AI 真實需求 vs 同業叫賣 vs 閒聊的判定準確度足以讓高意向分級可信若不可信名單價值歸零——這是本 run **單點失敗風險**。
- 使用者願意手動回報成交沒有自動訊號可用)。
- 地區資訊可從貼文文字合理推斷推斷不出時標為未知而非猜測
## 11. 風險
| 風險 | 影響 | 緩解需求層非實作細節 |
|------|------|---------------------------|
| **意向判定不準**把閒聊當需求把真需求判低 | 名單不可信產品價值歸零 | 強制附判定理由使用者可覆寫並記錄同業雜訊預設排除先求精準再求數量 |
| Threads 需求貼文量體不足 | 今日 18 今日 0 | 關鍵字建議機制空結果時給明確建議而非空白頁P1 手動匯入補位 |
| 平台 API 政策或搜尋能力變動 | 單一來源斷炊 | 定位為 Growth OS 而非 Threads 工具來源可插拔P2 LINE 與自有表單分散風險 |
| 使用者被視為騷擾帳號受罰 | 存亡級 | 沿用既有健康分送出閘與節流回覆須不像機器人推銷」;不做大量自動發送保留人工路徑 |
| CRM 做太重自媒體不想維護 | 功能無人使用 | 明確 out of scope無自訂欄位流程引擎八狀態任意跳轉欄位極簡 |
| 成交靠手動回報資料不完整 | 轉換統計失真 | 回報入口做在最自然的位置商機詳情CRM 卡片統計標示樣本數不足時不顯示結論 |
| 與既有海巡概念混淆 | 現有用戶困惑契約打架 | §6 命名決策既有海巡原樣保留提供升級為商機的單向橋接 |
| P0 範圍過大導致交付失焦 | run 失去存在理由 | 決策 #11 交付順序硬性先做出每天有名單再做閉環 |
| 每日自動巡造成 AI 成本失控 | 毛利被吃掉 | 決策 #3 每日商機上限與方案配額低意向不生成回覆 |
## 12. 開放問題
1. **關鍵字怎麼設才有效**——要不要提供依服務類別自動建議關鍵字的引導影響 P0 上手體驗建議 spec 納入最小版
2. 每日自動巡的**觸發時段** UTC 固定時點或會員時區早晨 **spec 選一種寫死**
3. 地區判定的**粒度**縣市可遠端服務地區的比對規則 **spec**
4. 意向分數五問的**權重公式與門檻校準方式**是否需要人工標註樣本)→ **specplan**
5. 既有海巡命中升級為商機**複製**還是**共用同一筆資料** **spec**
6. 免費試用如何設計才能讓使用者在**第一天**就看到名單否則無法驗證價值主張)→ **specplan**
## 13. 批准
- [x] 需求已批准2026-07-31使用者批准 spec」)