> **产品：** AI Support Procurement Clarity
> **版本：** v1
> **生成时间：** 2026-05-11 09:55
> **数据来源：** ai-customer-support-automation__scored-demand__20260511-0918.md（Score: 28/40 BUILD）

# PRD — AI Support Procurement Clarity

## 1. Problem & User

**Target User:** SMB support managers and CX/CRM buyers at 10–200 person SaaS companies evaluating AI helpdesk tools (Zendesk, Intercom, Freshdesk, Ada, Forethought).

**Core Problem:** AI support software pricing is deliberately opaque — per-conversation fees, seat costs, resolution-based billing, and automation rate assumptions make apples-to-apples comparison nearly impossible. Most SMB buyers discover the real cost only after committing, with no easy way to model ROI against their actual ticket volume or agent costs.

**User Quote:** "大多数工具贵但幻觉多" (Most tools are expensive but full of hallucinations)

## 2. Target Outcome & KPIs

- **Primary:** SMB buyers complete a vendor cost comparison and generate an ROI brief in < 10 minutes, before committing to a vendor demo
- **KPIs:**
  - Scenario completion rate: ≥ 60% of users who start a scenario finish it
  - Time to first comparison result: < 5 minutes from signup
  - Paywall trigger: second scenario saved (free = 1 scenario)
  - Conversion goal: 5% free→paid in first 30 days

## 3. MVP Scope (In)

- User inputs: ticket volume, avg handle time, agent cost/hour, target deflection rate, channel mix
- Pre-seeded vendor database: 6–8 vendors (Zendesk, Intercom, Freshdesk, Ada, Forethought, Gorgias) with manually entered pricing heuristics (base fee, per-conversation rate, seat cost, included usage, overage rate)
- Output: comparison table with estimated monthly cost, annual cost, cost-per-resolved-ticket, payback period
- Chart: bar chart comparing total cost across vendors at user's volume
- Pilot scorecard: optional manual quality rating form (answer accuracy, escalation quality, setup effort)
- Export: one-page PDF/markdown procurement brief with comparison + recommendation rationale
- Stripe: free (1 saved scenario), $39/mo (unlimited scenarios + export), $99 one-time (single PDF export)

## 4. Out of Scope

- Automated pricing scraping (all vendor data manually maintained)
- Native vendor API integrations or demo scheduling
- Real-time pricing updates (quarterly manual review)
- Enterprise multi-user access or approval workflows
- Actual vendor contract negotiation support

## 5. User Flow (Happy Path)

1. **Sign up** → land on empty "New Scenario" form
2. **Enter assumptions:** ticket volume (monthly), avg handle time (min), agent hourly rate ($), expected deflection rate (%), primary channel (email/chat/voice)
3. **Aha Moment (5 min):** Click "Compare" → instantly see comparison table and bar chart across 6 vendors: monthly cost, annual cost, cost per resolved ticket, estimated payback in months
4. **Explore details:** Click any vendor → see pricing assumptions breakdown (what's included, what triggers overage, seat vs usage billing)
5. **Optional pilot scorecard:** Rate 1–3 vendors on answer quality, escalation quality, setup effort from their own pilot experience
6. **Generate brief:** Click "Export Procurement Brief" → download one-page PDF with comparison table, recommendation rationale, and risk notes
7. **Paid wall trigger:** On "New Scenario" attempt #2 → upgrade prompt + automated email: "Ready to compare more options? Upgrade for unlimited scenarios"

## 6. Functional Requirements (P0)

| ID | Requirement |
|----|-------------|
| F1 | Scenario form: 5 inputs (volume, handle time, agent cost, deflection, channel) with sensible defaults |
| F2 | Vendor database: 6–8 vendors with manually entered pricing fields seeded at launch |
| F3 | Cost calculator: server-side formula produces monthly cost, annual cost, cost/ticket, payback for each vendor |
| F4 | Results page: sortable comparison table + bar chart (Chart.js or Recharts) |
| F5 | Vendor detail drawer: shows pricing assumption breakdown and notes on billing model |
| F6 | Pilot scorecard form: 3 dimensions (answer accuracy, escalation quality, setup) rated 1–5 per vendor |
| F7 | PDF/markdown export: procurement brief with comparison table + AI-generated recommendation rationale |
| F8 | Free tier: 1 saved scenario; second scenario attempt triggers paywall |
| F9 | Stripe checkout: $39/mo and $99 one-time options; email trigger at paywall event |
| F10 | Onboarding: scenario form is the first screen — no setup steps before value |

## 7. Data Model (Minimal)

```
users (id, email, plan, scenarios_count)
vendors (id, name, base_fee, per_convo_rate, seat_cost, included_convos, overage_rate, notes, updated_at)
scenarios (id, user_id, volume, handle_time, agent_rate, deflection_rate, channel, created_at)
scenario_results (id, scenario_id, vendor_id, monthly_cost, annual_cost, cost_per_ticket, payback_months)
pilot_scores (id, scenario_id, vendor_id, answer_accuracy, escalation_quality, setup_effort)
exports (id, scenario_id, format, created_at, download_url)
```

## 8. API / Integration Notes

- **Pricing engine:** Server-side TypeScript formula (no external API); formula: `monthly_cost = base_fee + max(0, volume * (1 - deflection) * per_convo_rate) + seats * seat_cost`; payback: `(annual_cost - baseline_agent_cost) / 12`
- **Charts:** Recharts (React-native, no CDN dependency)
- **PDF export:** `@react-pdf/renderer` or server-side puppeteer screenshot of results page
- **LLM for brief rationale:** Single GPT-4o call to generate 2-paragraph recommendation based on scenario + results (< $0.01/export)
- **Auth:** Supabase Auth
- **DB:** Supabase PostgreSQL (no pgvector needed)
- **Payments:** Stripe Checkout; support both subscription ($39/mo) and one-time payment ($99)
- **Email:** Resend for paywall trigger and welcome flow

## 9. Acceptance Criteria

- [ ] User completes scenario form and sees comparison results in < 5 minutes from signup
- [ ] Cost formula produces correct output for known inputs (unit-tested with 3 vendor fixtures)
- [ ] Comparison table renders all 6+ vendors sorted by monthly cost by default
- [ ] PDF export downloads within 10 seconds and contains all required sections
- [ ] Free tier correctly blocks second scenario save and shows upgrade prompt
- [ ] Both Stripe payment modes (subscription + one-time) complete successfully in test mode
- [ ] Paywall email fires within 5 minutes of 2nd scenario attempt

## 10. Delivery Plan

### Milestone 1 — Data Model + Pricing Engine (Hours 1–7)
**Files:**
- `supabase/migrations/001_schema.sql` — all tables + seed vendor data
- `lib/pricing-calculator.ts` — cost formula functions with TypeScript types
- `lib/vendors.ts` — static vendor config (pricing assumptions, notes)
- `app/api/scenarios/route.ts` — CRUD for scenarios + calculate results on save
- `__tests__/pricing-calculator.test.ts` — unit tests for formula correctness

**Rationale:** The calculator is the entire product value; must be accurate and testable before any UI.

**Exit Criteria:** `POST /api/scenarios` with fixture inputs returns correct `monthly_cost` and `payback_months` for all 6 vendors; unit tests pass for 3 scenario fixtures.

### Milestone 2 — Comparison UI + Export (Hours 8–15)
**Files:**
- `app/scenario/new/page.tsx` — 5-input scenario form with defaults
- `app/scenario/[id]/page.tsx` — results page: comparison table + bar chart
- `app/scenario/[id]/vendor/[vendorId]/page.tsx` — vendor detail drawer
- `components/ComparisonChart.tsx` — Recharts bar chart component
- `components/PilotScorecard.tsx` — optional rating form
- `app/api/exports/route.ts` — PDF generation endpoint
- `lib/pdf-generator.ts` — `@react-pdf/renderer` brief template

**Rationale:** The comparison UI is the core user experience; export enables sharing with finance/leadership and drives $99 one-time conversion.

**Exit Criteria:** Comparison table renders 6 vendors sorted by monthly cost; bar chart visible without errors; PDF export downloads with comparison table and GPT-4o-generated rationale paragraph.

### Milestone 3 — Monetization + Onboarding (Hours 16–20)
**Files:**
- `app/api/stripe/webhook/route.ts` — plan sync for both subscription + one-time
- `app/billing/page.tsx` — pricing page with two Stripe Checkout options
- `middleware.ts` — block second scenario creation on free plan
- `lib/email.ts` — Resend: paywall email + welcome sequence
- `app/page.tsx` — landing page (headline + CTA → scenario form)

**Rationale:** Free→paid gate and landing page are required for launch; two payment modes serve different buyer intents (ongoing vs one-off).

**Exit Criteria:** Middleware correctly blocks free user's 2nd scenario with 402 response; subscription and one-time Stripe flows both complete in test mode; paywall email sends within 5 min; landing CTA routes directly to scenario form.

## 11. Risks & Mitigations

| Risk | Mitigation |
|------|-----------|
| Vendor pricing changes frequently | Add "last updated" date per vendor; set quarterly review reminder; let users submit corrections |
| Users don't trust manually-seeded data | Show methodology page explaining pricing sources; link to public pricing pages |
| $39/mo feels too high for a calculator | Lead with $99 one-time export — lower commitment, still captures revenue |
| Low scenario completion rate | Prefill scenario form with industry-average defaults so user can see results immediately |

## 12. Chargeability Rationale

**Free:** 1 saved scenario with full comparison table — user sees the complete product value.

**Paid ($39/mo or $99 one-time):** Unlimited scenarios + PDF export with AI-generated procurement brief.

**Paywall Trigger:** Second scenario attempt — user has already validated the product works for their needs and wants to compare alternative budget assumptions.

**Why teams pay:** A wrong AI support platform decision costs $10K–$50K in annual contract + migration effort. A $99 export to prevent that mistake is a trivially easy expense approval.
