GIẢI MÃ DATA INSIGHT CHO FITNESS STARTUP
- Bạn sẽ đóng vai Data Analyst của FitFlow — một Fitness Startup có 120K users. Mỗi challenge, bạn sẽ áp dụng một phương pháp Cohort Analysis khác nhau để khai thác insight ẩn để từ đó ra quyết định.
- Không chỉ Classic Cohort — Khóa học cover hơn 15 phương pháp Cohort qua 30+ Challenges SQL Server thực tế.
- Tất cả sẽ lấy chung 1 bối cảnh là Fitness Startup để bạn vừa luyện tư duy Domain vừa thực chiến như đang đi làm thực tế.
- Sau khi học xong, bạn có thể áp dụng hơn 15 phương pháp Cohort vào trong công việc hiện tại ở bất cứ lĩnh vực nào, cũng như có sản phẩm chất lượng trong các buổi phỏng vấn Data Analyst.
1. Giới Thiệu
FitFlow là startup Việt Nam cung cấp dịch vụ huấn luyện cá nhân (PT) online kết hợp workout subscription — cho phép người dùng tập luyện có hướng dẫn chuyên nghiệp mọi lúc mọi nơi, tại nhà hoặc tại gym, với chi phí chỉ bằng 1/5 giá thuê PT truyền thống.
Mô hình cốt lõi: AI lên giáo án cá nhân hóa (dựa trên mục tiêu, thể trạng, thiết bị có sẵn) + Video hướng dẫn HD + PT thật coaching qua video call (gói cao cấp).
Thị trường mục tiêu:
- Dân văn phòng 22 – 40 tuổi tại TP.HCM & Hà Nội.
- Thu nhập trung bình – khá (10 – 25 triệu/tháng).
- Muốn tập gym/tập tại nhà có hiệu quả nhưng không biết tập gì, không đủ tiền thuê PT dài hạn, hoặc ngại đến phòng gym.
- Quen dùng app, xem video YouTube/TikTok về fitness.
- Đã từng mua gói gym nhưng bỏ sau 1-2 tháng vì thiếu động lực.
Vị thế trên thị trường:
- Nằm giữa “tự tập theo YouTube” (miễn phí nhưng không hiệu quả, dễ chấn thương) và “thuê PT phòng gym” (1-3 triệu/tháng, phải đến phòng gym).
- FitFlow = PT bỏ túi: giáo án chuyên nghiệp + tracking tiến độ + cộng đồng, với giá chỉ từ 199K/tháng.
- So với app quốc tế: nội dung tiếng Việt, bài tập phù hợp thể trạng người Việt, tích hợp thanh toán nội địa.
2. Đăng Ký & Mô Hình Thanh Toán
2.1. Luồng đăng ký (Onboarding Flow)
FitFlow thiết kế onboarding 8 bước để cá nhân hóa ngay từ đầu — mỗi bước tạo ra event tracking riêng:
- Tạo tài khoản — Đăng ký bằng SĐT hoặc Google/Facebook.
- Chọn mục tiêu — Giảm cân / Tăng cơ / Tăng thể lực / Linh hoạt / Sức khỏe tổng quát.
- Khảo sát thể trạng — Chiều cao, cân nặng , BMI, tiền sử chấn thương, bệnh lý.
- Chọn nơi tập — Tại nhà / Phòng gym / Cả hai.
- Chọn thiết bị có sẵn — Không thiết bị / Dumbbell / Barbell / Máy gym / Dây kháng lực / Yoga mat.
- Chọn kinh nghiệm — Mới bắt đầu / Đã tập 1-6 tháng / Đã tập > 6 tháng / Nâng cao.
- Chọn lịch tập — Số buổi/tuần (3-6), khung giờ ưa thích, thời lượng/buổi (30/45/60 phút).
- Chọn gói & thanh toán — Xem bảng giá bên dưới.
AI tạo giáo án ngay sau bước 7 — khách thấy lịch tập cá nhân hóa TRƯỚC KHI thanh toán → tăng conversion. Giáo án miễn phí xem nhưng phải subscribe để mở khóa video HD + tracking.
2.2. Sản phẩm
1 buổi tập = 1 workout session được thiết kế bởi AI + review bởi PT chuyên nghiệp. Mỗi session bao gồm:
- Warm-up (5-10 phút) — bài khởi động phù hợp nhóm cơ sẽ tập
- Main workout (20-45 phút) — 6-12 bài tập, mỗi bài có video HD + hướng dẫn form
- Cool-down (5-10 phút) — giãn cơ + hồi phục
- Thời lượng tổng: 30 / 45 / 60 phút (tùy cài đặt)
Loại workout:
| Loại | Mô tả |
|---|---|
| Strength | Tập tạ, tăng cơ, progressive overload |
| Cardio | Đốt mỡ, tăng nhịp tim |
| Flexibility | Yoga, giãn cơ, mobility |
| Functional | Thể lực tổng hợp, vận động thực tế |
| Recovery | Hồi phục, thư giãn |
2.3. Bảng giá
| Gói | Tính năng | Giá/tháng | Giá/năm (giảm 30%) |
|---|---|---|---|
| Free | 3 workouts/tuần giới hạn, không tracking, có quảng cáo | 0đ | — |
| Basic | Unlimited workouts AI, video HD, tracking cơ bản, không quảng cáo | 199K | 1,670K |
| Pro | Basic + giáo án nâng cao, nutrition tracking, recovery plan, community full | 399K | 3,350K |
| Elite | Pro + 4 buổi video call PT thật/tháng (30 phút/buổi), priority support | 699K | 5,870K |
Add-on:
| Add-on | Giá | Mô tả |
|---|---|---|
| PT Video Call (1 buổi) | 150K | Book PT thật, video call 30 phút (chỉ gói Basic/Pro) |
| Nutrition Plan chi tiết | 99K/tháng | Meal plan + macro tracking theo mục tiêu |
| Body Composition Tracking | 49K/tháng | Phân tích ảnh chụp body hàng tuần bằng AI |
2.4. Mô hình thanh toán
FitFlow sử dụng mô hình Auto-Renewal Subscription — khách thanh toán hàng tháng hoặc hàng năm, tự động gia hạn:
Chu kỳ thanh toán:
| Chu kỳ | Ưu đãi | Ví dụ: Pro (399K/th) |
|---|---|---|
| Hàng tháng | Giá gốc | 399K/tháng |
| 3 tháng | Giảm 10% | 1,077K (359K/th) |
| 6 tháng | Giảm 20% | 1,915K (319K/th) |
| 12 tháng | Giảm 30% | 3,350K (279K/th) |
Trial & Welcome Offer:
- 7 ngày dùng thử Pro miễn phí cho tất cả người đăng ký mới.
- Sau 7 ngày: tự động chuyển Free nếu không chọn gói (KHÔNG tự động charge).
- Flash offer sau trial: “Nâng cấp Pro ngay với giá 199K tháng đầu (giảm 50%)” — hiển thị 48h sau khi trial kết thúc.
Payment Failure & Dunning Flow:
Auto-renewal subscription có rủi ro involuntary churn — user muốn tiếp tục nhưng thanh toán thất bại (hết tiền, thẻ hết hạn, lỗi gateway):
Ngày gia hạn: hệ thống charge tự động
│
├── Thành công → tiếp tục bình thường
│
└── Thất bại → GRACE PERIOD bắt đầu (7 ngày)
│
├── Ngày 1: Push + Email "Thanh toán thất bại — cập nhật phương thức"
├── Ngày 3: Retry tự động + Zalo nhắc nhở
├── Ngày 5: Retry lần 2 + SMS "Tài khoản sắp bị khóa"
├── Ngày 7: Retry lần 3 (cuối cùng)
│ │
│ ├── Thành công → giữ nguyên subscription
│ └── Thất bại → downgrade về Free (involuntary churn)
│
└── Trong 7 ngày grace: user VẪN DÙNG ĐƯỢC gói hiện tại
2.5. Hủy, Tạm dừng & Đổi Gói
| Hành động | Mô tả | Billing |
|---|---|---|
| Tạm dừng | Nghỉ 1–4 tuần, giữ data + progress, streak reset về 0 khi quay lại. Tối đa 2 lần/năm, chỉ khả dụng sau ≥3 tháng active | Không charge trong thời gian pause, dời ngày gia hạn |
| Downgrade | Chuyển xuống gói thấp hơn | Hiệu lực từ chu kỳ tiếp theo |
| Upgrade | Chuyển lên gói cao hơn | Ngay lập tức — pro-rate phần chênh lệch |
| Hủy | Hủy hoàn toàn | Dùng hết chu kỳ hiện tại, không hoàn tiền |
Phân biệt Tạm dừng vs Hủy:
Tạm dừng (Pause) Hủy (Cancel)
────────────── ──────────────
Giữ nguyên gói, chỉ "đóng băng" Kết thúc subscription hoàn toàn
Data + progress giữ 100% Data giữ, nhưng về gói Free
Tự động mở lại khi hết thời gian pause Phải đăng ký lại từ đầu
Billing: dời ngày gia hạn ra sau Billing: dùng hết chu kỳ → stop
Tâm lý: "Tôi nghỉ tạm, sẽ quay lại" Tâm lý: "Tôi không dùng nữa"
Ví dụ Pause:
────────────
User Pro (399K/th) — ngày gia hạn: 15/4
→ Pause 2 tuần (từ 20/3 → 3/4)
→ Trong 2 tuần này: KHÔNG charge, KHÔNG dùng được tính năng Pro
→ Sau 3/4: Pro tự động mở lại, ngày gia hạn DỜI thành 29/4
→ Streak reset về 0 (phải build lại từ đầu)
Tại sao cần Pause? Giảm churn từ lý do tạm thời (du lịch, bận, chấn thương). Nếu chỉ có “dùng tiếp” hoặc “hủy” → user chọn hủy → khó kéo lại. Có Pause → user chọn pause → tự động quay lại mà không cần re-acquire. Giới hạn 2 lần/năm + sau 3 tháng active để tránh lạm dụng.
Plan Change Flow chi tiết:
UPGRADE (ví dụ: Basic → Pro giữa chu kỳ):
────────────────────────────────────────────
Ngày 10/30 của chu kỳ Basic (199K)
→ Pro-rate: (20 ngày còn lại ÷ 30) × (399K - 199K) = 133K phụ thu
→ Tính năng Pro MỞ NGAY sau thanh toán
→ Chu kỳ tiếp theo charge 399K đầy đủ
DOWNGRADE (ví dụ: Elite → Pro):
────────────────────────────────────────────
→ Giữ Elite đến HẾT chu kỳ hiện tại
→ Chu kỳ tiếp theo tự động charge Pro (399K)
→ Mất: PT Video Call, priority support
→ Giữ: nutrition tracking, recovery plan, community
FREE → PAID (conversion):
────────────────────────────────────────────
→ Xem trang nâng cấp → so sánh gói → chọn gói → thanh toán
→ Conversion touchpoints: sau hoàn thành workout, khi hit paywall, sau trial hết hạn
Luồng hủy: Hỏi lý do → đề xuất tạm dừng → đề xuất downgrade → tặng 1 tháng giảm 50% → nếu vẫn hủy → survey + “Bạn luôn có thể quay lại”.
3. Trải Nghiệm Hàng Tuần
Mỗi tuần, user FitFlow trải qua chu kỳ tập luyện:
3.1. Thứ Hai — Giáo án tuần mới
AI tạo giáo án tuần mới dựa trên:
- Mục tiêu đã chọn (giảm cân / tăng cơ / …)
- Lịch sử tập (progressive overload — tăng dần tải trọng)
- Muscle recovery status (nhóm cơ nào đã hồi phục)
- Feedback tuần trước (quá dễ / vừa / quá khó)
VÍ DỤ GIÁO ÁN TUẦN — GÓI PRO, MỤC TIÊU TĂNG CƠ, 5 BUỔI/TUẦN:
T2: Push (Ngực + Vai + Tay sau) 45 phút
T3: Pull (Lưng + Tay trước) 45 phút
T4: Recovery + Mobility 30 phút
T5: Legs (Đùi + Mông + Bắp chân) 50 phút
T6: Functional + Core 40 phút
T7: Cardio HIIT (tùy chọn) 25 phút
CN: Nghỉ ngơi (Recovery tips push)
3.2. Mỗi buổi tập — Workout Flow
MỞ APP → XEM BUỔI TẬP HÔM NAY
│
▼
START WORKOUT → Timer bắt đầu
│
├── Warm-up (video hướng dẫn, 5-10 phút)
│
├── Main Workout:
│ Bài 1: Bench Press → xem video form → log weight × reps
│ Bài 2: Shoulder Press → ...
│ ...
│ Bài N: Tricep Pushdown → ...
│
├── Cool-down (giãn cơ, 5 phút)
│
▼
COMPLETE WORKOUT → Summary (tổng volume, calo, thời gian)
│
├── Rate difficulty (1-5)
├── Log body metrics (cân nặng, ảnh — tùy chọn)
├── Share progress → Social feed
│
▼
EARN FITCOINS + STREAK UPDATE
3.3. Giữa tuần — Engagement touchpoints
| Ngày | Touchpoint |
|---|---|
| Mỗi ngày tập | Push notification 30 phút trước giờ tập |
| Ngày nghỉ | Recovery tips + stretch video |
| Sau 2 ngày không tập | “Bạn đang skip — streak sắp mất!” |
| Thứ Bảy | Weekly summary (tổng kết tuần) |
3.4. Cuối tuần — Review & Plan
- Xem Weekly Report: tổng buổi tập, volume, calo, tiến bộ so với tuần trước
- AI gợi ý điều chỉnh tuần tới: tăng/giảm tải, đổi bài tập
- Đặt mini-goal cho tuần mới (ví dụ: “Tăng 2.5kg Bench Press”)
4. Tính Năng Nền Tảng
4.1. AI Coach — Giáo Án Thông Minh
- Progressive Overload Engine: AI tự động tăng tải trọng dựa trên performance history — nếu user hoàn thành 3 set × 12 reps dễ dàng → tuần sau tăng weight hoặc reps.
- Muscle Recovery Tracking: Dựa trên lịch sử tập + rate_workout → AI biết nhóm cơ nào cần nghỉ, tránh overtraining.
- Adaptive Difficulty: Nếu user rate “quá khó” liên tục → giảm volume/intensity. Rate “quá dễ” → tăng lên.
4.2. PT Video Call (Gói Elite + Add-on)
Book lịch video call với PT chuyên nghiệp (30 phút/buổi):
- Form check: PT xem user tập qua camera, chỉnh form real-time
- Q&A: Hỏi về dinh dưỡng, chấn thương, giáo án
- Progress review: PT review data tập luyện, đưa lời khuyên
4.3. Nutrition Tracking (Gói Pro+)
- Log bữa ăn: chụp ảnh → AI nhận diện thực phẩm → tính calo + macro
- Macro targets theo mục tiêu (giảm cân: deficit, tăng cơ: surplus)
- Meal suggestions từ database món Việt
- Weekly nutrition report: % đạt target protein/carb/fat
4.4. Body Transformation Tracking
- Cân nặng: Log hàng ngày/tuần, biểu đồ xu hướng
- Ảnh body: Chụp trước/sau hàng tuần/tháng (front, side, back) → AI so sánh visual
- Measurements: Vòng eo, vòng ngực, vòng tay, vòng đùi
- Strength milestones: PR (Personal Record) cho mỗi bài tập chính
4.5. Social & Community
- Feed cộng đồng: Chia sẻ kết quả tập, ảnh transformation, tips.
- Workout Buddies: Ghép đôi tập luyện cùng level & mục tiêu → tập cùng giờ, so sánh tiến độ.
- Group Challenges: Thi đua nhóm (team tích lũy nhiều buổi tập nhất tháng).
- PT Reviews: Đánh giá PT sau mỗi buổi video call.
4.6. Live Classes (Tính năng cộng đồng)
- Lịch phát sóng: Mỗi ngày 2-3 lớp live (sáng 6:30, trưa 12:00, tối 19:00).
- Loại lớp: HIIT, Yoga, Dance Fitness, Boxing, Stretching.
- Tương tác: Chat live, heart reactions, leaderboard calo real-time.
- Replay: Xem lại bất kỳ lúc nào (chỉ gói Pro+).
4.7. Marketplace — Cửa Hàng
Bán phụ kiện tập luyện + thực phẩm bổ sung:
| Danh mục | Sản phẩm ví dụ | Giá |
|---|---|---|
| Thiết bị nhỏ | Dây kháng lực, dumbbell, yoga mat | 99K – 500K |
| Thực phẩm bổ sung | Whey protein, BCAA, Pre-workout | 300K – 800K |
| Đồ tập | Quần áo tập FitFlow branded | 150K – 400K |
| Meal prep | Gói meal prep 7 ngày (hợp tác bên thứ 3) | 500K – 1,200K |
4.8. Wearable Integration
Kết nối thiết bị đeo tay để auto-track dữ liệu tập luyện bên ngoài app. Về mặt kỹ thuật, FitFlow tích hợp qua Apple HealthKit (iOS) và Google Fit SDK (Android).
4.9. B2B — Corporate Wellness Program
FitFlow cung cấp gói doanh nghiệp — công ty mua subscription cho nhân viên:
Gói B2B pricing:
| Gói | Số nhân viên | Giá/người/tháng | Bao gồm |
|---|---|---|---|
| Team | 10 – 50 | 149K | Pro features cho tất cả nhân viên |
| Company | 51 – 200 | 129K | Pro + HR dashboard + team challenges |
| Enterprise | 200+ | Thương lượng | Company + dedicated account manager + custom branding |
Team Challenges nội bộ:
- Phòng ban thi đua: team nào tập nhiều nhất tháng
- Company-wide challenge: “Cả công ty tập 10,000 buổi trong quý”
- Prizes từ HR: ngày nghỉ thêm, voucher, team building
4.10. Goal-Based Programs — Chương Trình Có Lộ Trình
Ngoài giáo án tuần tự do, FitFlow có programs có thời hạn và mục tiêu rõ ràng:
| Program | Thời gian | Mục tiêu | Level |
|---|---|---|---|
| “Giảm 5kg” | 12 tuần | Giảm cân bền vững | Beginner – Intermediate |
| “Tăng Cơ Nền Tảng” | 8 tuần | Tăng lean muscle mass | Beginner |
| “Chạy 5K Đầu Tiên” | 6 tuần | Hoàn thành 5K liên tục | Beginner |
| “HIIT Warrior” | 4 tuần | Tăng thể lực, đốt mỡ nhanh | Intermediate |
| “30 Ngày Yoga” | 4 tuần | Linh hoạt + thư giãn | All levels |
| “Body Recomposition” | 16 tuần | Giảm mỡ + tăng cơ cùng lúc | Advanced |
| “Strength Builder” | 12 tuần | Tăng max strength (Bench/Squat/Deadlift) | Intermediate – Advanced |
Program flow:
Chọn program → AI customize theo thể trạng hiện tại
│
├── Tuần 1-2: Foundation (nhẹ, làm quen)
├── Tuần 3-6: Progressive (tăng dần intensity)
├── Tuần 7+: Peak (intensity cao nhất)
│
├── Mỗi 2 tuần: Check-in milestone (cân nặng, measurements, photos)
│
└── Hoàn thành → Completion Certificate + Badge + Bonus FC
4.11. Notification Center & Preferences
Notification types:
| Loại | Ví dụ | Mặc định |
|---|---|---|
| Workout Reminder | “Buổi tập Push Day bắt đầu lúc 18:00!” | ON — 30 phút trước |
| Streak Alert | “Streak ×12 sắp mất! Tập hôm nay nhé” | ON |
| Weekly Summary | “Tuần này: 4 buổi, +2kg Bench Press!” | ON |
| Challenge Update | “Còn 3 buổi nữa để hoàn thành Summer Body!” | ON |
| Social | “Anh Đức vừa đạt PR mới!” / “Bạn được match buddy” | ON |
| Marketing | “Flash sale Whey Protein -30%!” / “Live class tối nay!” | ON (opt-out) |
| System | “Thanh toán thành công” / “Gói sắp hết hạn” | ON (không tắt được) |
Preference settings:
- Frequency cap: Tối đa 5 push/ngày (trừ system)
- Quiet hours: Tắt push từ 22:00 → 7:00 (user tự chỉnh)
- Channel: Chọn kênh ưa thích (Push / Zalo / Email / SMS) cho mỗi loại
- Mute: Tắt tất cả 1-7 ngày (vacation mode)
4.12. Exercise Library & Content System
Kho bài tập:
- 600+ exercises với video HD hướng dẫn form (góc quay đa chiều)
- Phân loại theo: nhóm cơ (14 nhóm), thiết bị, độ khó, loại workout
- Mỗi exercise có: video demo 30-60s, common mistakes, variations (dễ hơn / khó hơn)
- Content update: 10-15 exercises mới/tháng, 3-5 programs mới/quý
PT Content Creators:
- 12 PT in-house (full-time) — tạo giáo án, quay video, livestream
- 30+ freelance coaches — tạo specialized programs (yoga, boxing, prenatal fitness)
- User-rated: mỗi PT có rating (1-5), profile, specialization
Content categories:
| Category | Số lượng | Update rate |
|---|---|---|
| Exercise videos | 600+ | +10-15/tháng |
| Workout programs | 25+ pre-built | +3-5/quý |
| Guided meditations | 30+ | +5/tháng |
| Nutrition recipes (VN) | 200+ | +20/tháng |
| Educational articles | 100+ | +8/tháng |
5. Hệ Thống Engagement
FitFlow xây dựng engagement dựa trên bản chất hành trình tập luyện — user không chỉ “active / inactive” mà trải qua các giai đoạn fitness khác nhau, mỗi giai đoạn có tâm lý, nhu cầu và rủi ro churn riêng.
5.1. Fitness Journey — Hành Trình Tập Luyện (6 Phase)
┌──────────────────────────────────────────────────────────────────┐
│ FITFLOW FITNESS JOURNEY │
│ │
│ ONBOARD Tuần 1-2: Khám phá, thử nghiệm │
│ │ │
│ ▼ │
│ FORMING Tuần 3-6: Bắt đầu hình thành thói quen │
│ │ │
│ ▼ │
│ BUILDING Tuần 7-16: Tập đều, thấy kết quả đầu tiên │
│ │ │
│ ▼ │
│ PLATEAU Tuần 17+: Tiến bộ chậm lại, dễ nản │
│ │ │
│ ▼ │
│ COMMITTED User vượt qua plateau, tập là thói quen bền vững │
│ │
│ DORMANT Ngừng tập >4 tuần liên tục (bất kỳ phase nào) │
└──────────────────────────────────────────────────────────────────┘
Consistency Rate = (số tuần có ≥1 complete_workout ÷ tổng số tuần đo) × 100%. Ví dụ: 4 tuần gần nhất, tập 3 tuần = 75% consistency.
Quy tắc chuyển phase (đánh giá mỗi thứ Hai 00:00):
ONBOARD (tuần 1-2)
│
├── Complete ≥3 workouts trong 2 tuần → FORMING
└── Complete <3 workouts → DORMANT (churn sớm)
FORMING (tuần 3-6)
│
├── Consistency ≥50% (tập ≥ 2/4 tuần gần nhất) → BUILDING
├── Consistency <50% nhưng vẫn tập → ở lại FORMING
└── 0 workout >4 tuần → DORMANT
BUILDING (tuần 7-16)
│
├── Consistency ≥60% trong ≥12 tuần liên tiếp → COMMITTED
├── Consistency giảm dưới 40% HOẶC không PR mới >4 tuần → PLATEAU
└── 0 workout >4 tuần → DORMANT
PLATEAU (tuần 17+)
│
├── Consistency tăng lại ≥60% + đạt PR mới → BUILDING (breakout!)
├── Duy trì tập ở mức thấp → ở lại PLATEAU
└── 0 workout >4 tuần → DORMANT
COMMITTED
│
├── Consistency vẫn ≥60% → ở lại COMMITTED
├── Consistency giảm dưới 40% >4 tuần → PLATEAU
└── 0 workout >4 tuần → DORMANT
DORMANT
│
├── Quay lại tập 1 buổi → FORMING (reset, phải rebuild)
└── Không hoạt động >12 tuần → Deep Dormant (win-back segment)
Ví dụ phân loại:
Lan: Đăng ký tuần trước, tập 2 buổi → ONBOARDING
Đức: Tuần 4, đã tập 5 buổi tổng, tuần này tập → FORMING
Tuấn: Tuần 10, tập 3/4 tuần gần nhất, vừa PR mới → BUILDING
Mai: Tuần 20, không PR mới 6 tuần, tập 1/4 tuần → PLATEAU
Khoa: Tuần 30, tập 4/4 tuần, consistency 75% → COMMITTED
Hà: Không tập 6 tuần liên tiếp → DORMANT
5.2. FitScore — Chỉ Số Sức Khỏe Engagement (0-100)
FitFlow tính FitScore — điểm tổng hợp đo mức độ “khỏe mạnh” của engagement mỗi user. FitScore được tính hàng tuần từ 5 thành phần:
FitScore (0-100) = Workout Score (40%)
+ Consistency Score (25%)
+ Progress Score (15%)
+ Engagement Score (10%)
+ Social Score (10%)
| Thành phần | Trọng số | Cách tính | Max |
|---|---|---|---|
| Workout Score | 40% | (buổi tập hoàn thành tuần này ÷ buổi theo giáo án) × 40 | 40 |
| Consistency Score | 25% | (số tuần có tập ÷ 4 tuần gần nhất) × 25 | 25 |
| Progress Score | 15% | Có PR mới? +8. Tổng volume tăng? +7 | 15 |
| Engagement Score | 10% | rate_workout +3, log_meal +3, watch_video +2, view_plan +2 | 10 |
| Social Score | 10% | share_post +4, like/comment +3, buddy_workout +3 | 10 |
FitScore zones:
┌────────────────────────────────────────────────────────┐
│ │
│ 80-100 THRIVING — Tập đều, tiến bộ, engaged │
│ 60-79 HEALTHY — Ổn, duy trì tốt │
│ 40-59 COOLING — Đang nguội, cần attention │
│ 20-39 FADING — Sắp bỏ, can thiệp gấp │
│ 0-19 INACTIVE — Gần như không dùng app │
│ │
└────────────────────────────────────────────────────────┘
- FitScore vs Phase: Phase cho biết user đang ở đâu trong hành trình.
- FitScore cho biết user đang “khỏe” hay “yếu” engagement-wise tại bất kỳ thời điểm nào.
- Ví dụ: user COMMITTED nhưng FitScore = 50 (COOLING) → đang có dấu hiệu plateau, cần can thiệp.
Ví dụ tính FitScore:
Đức — tuần này:
Workout: 4/5 buổi hoàn thành → 4/5 × 40 = 32
Consistency: 4/4 tuần đều tập → 4/4 × 25 = 25
Progress: Có 1 PR mới (Squat 80kg) → 8 + 4 (volume tăng) = 12
Engagement: rate 3 món + log meal → 3 + 3 = 6
Social: share 1 post → 4
─────────────────────────────────────
FitScore = 32 + 25 + 12 + 6 + 4 = 79 → HEALTHY
5.3. Churn Risk Signals — Tín Hiệu Churn Đặc Thù Fitness
FitFlow theo dõi 8 tín hiệu cảnh báo churn sớm — mỗi signal cộng thêm điểm risk. Tổng ≥5 điểm → auto-trigger can thiệp.
| # | Signal | Risk pts | Cách phát hiện | Tại sao quan trọng |
|---|---|---|---|---|
| 1 | Session ngắn dần | +2 | Avg session giảm >20% so với 4 tuần trước | Tập qua loa → mất hứng |
| 2 | Skip exercises tăng | +1 | Skip >30% bài tập trong buổi | Giáo án không phù hợp hoặc chán |
| 3 | Không PR mới >6 tuần | +2 | Plateau → mất motivation | |
| 4 | Rate workout thấp liên tục | +1 | Avg rating ≤2 trong 3 tuần | Không hài lòng với giáo án |
| 5 | Bỏ qua push notifications | +1 | Click rate <10% trong 2 tuần | Disengage khỏi app |
| 6 | Abandon workout tăng | +2 | Start nhưng không complete >2 lần/tuần | Bắt đầu nhưng bỏ giữa chừng |
| 7 | Giảm tần suất đột ngột | +3 | Từ 4-5 buổi/tuần → 1-2 buổi/tuần | Warning mạnh nhất |
| 8 | Đã xem trang hủy/downgrade | +2 | Intent signal rõ ràng |
Churn Risk Score = tổng risk point (0-14):
| Risk Score | Level | Action |
|---|---|---|
| 0 – 2 | LOW | Không can thiệp, nurture bình thường |
| 3 – 4 | MEDIUM | AI tự đổi giáo án + đề xuất workout mới |
| 5 – 7 | HIGH | Buddy match auto + PT call gợi ý + notification đặc biệt |
| 8 – 10 | RITICAL | CSKH Zalo chủ động liên hệ + offer pause thay cancel + discount |
| 11+ | SEVERE | Retention team gọi trực tiếp + last-resort offer |
Churn signals + FitScore + Phase kết hợp tạo ra ma trận can thiệp 3 chiều
5.4. Training Consistency Tiers — Phân Nhóm Theo Mức Độ Đều Đặn
Ngoài Phase và FitScore, FitFlow phân nhóm user theo mức độ đều đặn thực tế — rolling 4 tuần gần nhất:
| Tier | Điều kiện (rolling 4 tuần) | Mô tả |
|---|---|---|
| Iron | Tập ≥90% buổi theo giáo án | Hardcore — tập gần như không bỏ buổi nào |
| Steady | Tập 60-89% buổi | Đều đặn — bỏ vài buổi nhưng maintain |
| Casual | Tập 30-59% buổi | Tập khi có hứng — inconsistent |
| Sporadic | Tập <30% buổi nhưng còn tập | Rất ít — gần churn |
| Absent | 0 buổi trong 4 tuần | Dormant hoặc Free user không tập |
Consistency tier → pricing strategy: User Iron/Steady dễ upsell (đã thấy value). User Casual cần re-engage trước khi upsell. User Sporadic cần được giữ lại bằng simplified plans.
Ví dụ: Ma trận Phase × Consistency:
Iron Steady Casual Sporadic Absent
ONBOARD 2% 5% 3% 2% 0%
FORMING 3% 8% 6% 3% 0%
BUILDING 10% 15% 5% 1% 0%
PLATEAU 2% 5% 8% 4% 0%
COMMITTED 12% 8% 1% 0% 0%
DORMANT 0% 0% 0% 0% 25%
→ BUILDING + Iron/Steady = CORE users (25%) = high-value cohort
→ PLATEAU + Casual/Sporadic = HIGH RISK (12%) = urgent intervention
→ FORMING + Casual = MAKE-OR-BREAK (6%) = sẽ thành BUILDING hoặc DORMANT
5.5. FitCoins — Đồng Tiền Nội Bộ
FitFlow dùng FitCoins (FC) — 1 FC = 1 VNĐ khi quy đổi.
Cách kiếm FC:
| Hành vi | FC | Tần suất | Lý do |
|---|---|---|---|
complete_workout | +100 FC | Mỗi buổi | Hành vi cốt lõi |
| Workout streak bonus | +50 × tuần streak | Mỗi tuần | Tuần 4 streak = +200 bonus |
rate_workout | +20 FC | Mỗi buổi | Feedback = cải thiện AI |
log_meal (nutrition tracking) | +30 FC | Mỗi ngày | Cross-feature engagement |
take_progress_photo | +50 FC | Mỗi tuần | Tracking = habit |
share_post | +40 FC | Mỗi lần | UGC = organic marketing |
referral_signup | +1,000 FC | Mỗi lần | Referral = CAC thấp |
complete_challenge | +200–1,000 FC | Mỗi challenge | Event-driven engagement |
set_personal_record | +100 FC | Mỗi lần | Celebrate progress |
Cách tiêu FC:
| Quy đổi | FC | Hiệu ứng |
|---|---|---|
| Giảm giá subscription (1 FC = 1 VNĐ) | Tùy ý | Trực tiếp |
| Mua sản phẩm Marketplace | Tùy ý | Cross-sell |
| Streak Freeze (bảo vệ streak khi nghỉ) | 300 FC | Giữ streak |
| Mở khóa Workout Đặc Biệt (Celebrity PT session) | 500 FC | Exclusive content |
| 1 buổi PT Video Call miễn phí | 2,000 FC | Upsell trải nghiệm |
| Tặng bạn 1 tuần Pro miễn phí | 1,500 FC | Viral growth |
5.6. Workout Streak
Đếm số tuần liên tiếp user hoàn thành ≥50% buổi tập theo giáo án.
Tại sao tính theo tuần, không phải ngày? Fitness cần rest day. Đếm streak theo ngày sẽ ép user tập liên tục → overtraining → chấn thương → churn. Streak theo tuần (tập đủ % buổi) mới phản ánh đúng consistency lành mạnh.
W1: Tập 4/5 buổi (80%) → 1
W2: Tập 3/5 buổi (60%) → 2
W3: Tập 2/5 buổi (40%) → STREAK RESET (dưới 50%)
W4: Tập 5/5 buổi (100%)→ 1 (bắt đầu lại)
Streak milestones & rewards:
| Streak | Phần thưởng | FC earned |
|---|---|---|
| ×4 (1 tháng đều đặn) | Badge “Kỷ Luật Thép” | +300 FC |
| ×8 | Badge “Chiến Binh” + 1 Streak Freeze miễn phí | +700 FC |
| ×12 (3 tháng) | Badge “Không Gì Cản Nổi” + Celebrity Workout | +1,500 FC |
| ×24 (6 tháng) | Badge “Unstoppable” + 1 buổi PT free | +3,000 FC |
| ×52 (1 năm) | Badge “FitFlow OG” + Lifetime discount 20% | +10,000 FC |
Streak Freeze:
- Mua: 300 FC = 1 freeze (cho phép 1 tuần dưới 50% mà không mất streak)
- Giới hạn: 2 freeze/tháng
- Gói Elite: 1 freeze miễn phí/tháng
5.7. Hạng Thành Viên (Fitness Tiers)
Hạng được đánh giá dựa trên 2 yếu tố: tổng FC tích lũy lifetime + consistency thực tế. Phải đạt CẢ HAI điều kiện để lên hạng:
┌──────────────────────────────────────────────────────────────────┐
│ │
│ Starter → Runner → Athlete │
│ Mọi user mới ≥1,000 FC ≥5,000 FC │
│ + 4w streak + 12w streak │
│ │
│ → Champion → Legend │
│ ≥15,000 FC ≥50,000 FC │
│ + 24w streak + 40w streak │
└──────────────────────────────────────────────────────────────────┘
Hạng CÓ THỂ XUỐNG nếu consistency giảm nghiêm trọng (khác FreshBox). Nghỉ >8 tuần liên tục → xuống 1 hạng. Lý do: fitness là về KỶ LUẬT — hạng phải phản ánh thực tế, tạo động lực duy trì. Tuy nhiên, khi quay lại, user lên hạng nhanh hơn 50% (ưu đãi “returning tier boost”).
5.8. Thử Thách & Leaderboard
Thử thách cá nhân (Weekly Quests) — mỗi tuần 3 quests ngẫu nhiên:
| Quest | Điều kiện | Thưởng |
|---|---|---|
| “Early Bird” | complete_workout trước 7:00 sáng | +50 FC |
| “Đa Năng” | Tập ≥2 loại workout khác nhau | +40 FC |
| “PR Hunter” | Đạt 1 Personal Record | +60 FC |
| “Full Session” | Complete 100% bài tập trong 1 buổi (không skip) | +50 FC |
| “Chia Sẻ Thành Quả” | Share progress lên feed | +40 FC |
| “Nutrition Pro” | Log ≥3 bữa ăn trong ngày | +30 FC |
| “Recovery Master” | Complete 1 recovery/yoga session | +30 FC |
| “Buddy Workout” | Tập cùng slot với workout buddy | +50 FC |
Hoàn thành 3/3 quests = Combo Bonus (+100 FC extra).
Leaderboard — Bảng Xếp Hạng (tuần):
FitFlow có 3 bảng xếp hạng cạnh tranh lành mạnh:
| Leaderboard | Metric | Scope | Reset |
|---|---|---|---|
| Volume King | Tổng volume (kg × reps) trong tuần | Toàn quốc, chia theo giới + level | Mỗi thứ Hai |
| Consistency Star | Streak tuần dài nhất đang chạy | Toàn quốc | Liên tục |
| FitScore Leader | FitScore cao nhất tuần | Nhóm bạn bè / buddy group | Mỗi thứ Hai |
Top 10 mỗi tuần nhận bonus 200-1,000 FC. Top 3 có badge tuần + highlight trên feed.
Thử thách mùa (Seasonal Challenges):
| Quý | Thử thách | Thời gian | Giải |
|---|---|---|---|
| Q1 (Tết) | “New Year New Me” — streak 8 tuần + FitScore ≥70 | 8 tuần | Badge Tết + 2,000 FC |
| Q2 (Hè) | “Summer Body” — complete 40 workouts + 3 PRs | 8 tuần | Badge Hè + 1 tháng Pro free |
| Q3 (Thu) | “Đa Năng” — thử ≥5 loại workout + 1 live class | 6 tuần | Badge Globe + 1,500 FC |
| Q4 (Đông) | “Team Spirit” — team 4 người đều streak ≥4 tuần | 4 tuần | Badge Đông + 3,000 FC |
6. Viral Loops
FitFlow vận hành 3 vòng viral chính (+ 1 vòng phase 2):
┌─────────────────────────────────────────────────┐
│ FITFLOW VIRAL FLYWHEEL │
│ │
│ User tập luyện │
│ │ │
│ ├── Đạt kết quả → Chia sẻ transformation │
│ │ │ │
│ │ ▼ │
│ │ Bạn bè thấy → Signup │
│ │ │
│ ├── Invite bạn → Referral link │
│ │ │ │
│ │ ▼ │
│ │ Bạn signup → Cả hai có FC │
│ │ │
│ └── Tạo challenge → Invite team │
│ │ │
│ ▼ │
│ Team signup → Thi đua │
└─────────────────────────────────────────────────┘
Loop 1: Referral (chính — ưu tiên cao nhất)
| Bước | Incentive |
|---|---|
| User gửi link mời bạn | Nhận 1,000 FC khi bạn subscribe |
| Bạn đăng ký qua link | Bạn được 14 ngày Pro trial (thay vì 7) + 500 FC |
| Bạn hoàn thành 5 buổi tập | Người giới thiệu nhận thêm 500 FC |
| Bạn subscribe trả phí | Cả hai nhận 300 FC |
Referral là loop hiệu quả nhất — CAC thấp nhất, retention cao nhất (bạn bè tạo social accountability).
Loop 2: Transformation Social
| Bước | Incentive |
|---|---|
| Chụp progress photo (before/after) | +50 FC |
| Share kết quả lên social media | +200 FC |
| Bạn bè thấy, click link → signup | +1,000 FC (tính như referral) |
Kênh chính tại VN: TikTok (before/after viral), Zalo Moment, Facebook Group fitness. Transformation content có viral coefficient cao nhất trong fitness vì nó là bằng chứng thật — không phải quảng cáo.
Loop 3: Challenge
| Bước | Incentive |
|---|---|
| Tạo team challenge (unlock khi streak ≥7) | Mở khóa leaderboard nhóm |
| Invite bạn thi đua | +200 FC nếu bạn join |
| Bạn signup + join challenge | Bạn: 14 ngày Pro trial + 500 FC |
| Team hoàn thành mục tiêu | Cả team: bonus ×2 FC |
Loop 4: Gift (Phase 2 — triển khai khi brand có recognition)
Mua gift subscription tặng bạn bè (ví dụ: 299K = 1 tháng Pro). Người nhận kích hoạt → dùng thử → subscribe. Người tặng nhận FC.
Viral metrics
| Metric | Hiện tại | Target (12 tháng) |
|---|---|---|
| Viral coefficient (K) | 0.12 | 0.25 |
| Referral conversion rate (link click → signup) | 10% | 18% |
| Transformation share rate (% active users share) | 3% | 10% |
| Challenge participation rate | 6% | 15% |
| Organic acquisition (% total new users) | 15% | 35% |
