Khóa Học Data Analyst

Cohort Analysis Thực Chiến – 30+ SQL Challenges – 15+ Cohort Methods: Từ Retention → Revenue → Growth | Data-Driven Decisions

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:

  1. Tạo tài khoản — Đăng ký bằng SĐT hoặc Google/Facebook.
  2. 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.
  3. 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ý.
  4. Chọn nơi tập — Tại nhà / Phòng gym / Cả hai.
  5. 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.
  6. Chọn kinh nghiệm — Mới bắt đầu / Đã tập 1-6 tháng / Đã tập > 6 tháng / Nâng cao.
  7. 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).
  8. 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ạiMô tả
StrengthTập tạ, tăng cơ, progressive overload
CardioĐốt mỡ, tăng nhịp tim
FlexibilityYoga, giãn cơ, mobility
FunctionalThể lực tổng hợp, vận động thực tế
RecoveryHồi phục, thư giãn
2.3. Bảng giá
GóiTính năngGiá/thángGiá/năm (giảm 30%)
Free3 workouts/tuần giới hạn, không tracking, có quảng cáo
BasicUnlimited workouts AI, video HD, tracking cơ bản, không quảng cáo199K1,670K
ProBasic + giáo án nâng cao, nutrition tracking, recovery plan, community full399K3,350K
ElitePro + 4 buổi video call PT thật/tháng (30 phút/buổi), priority support699K5,870K

Add-on:

Add-onGiáMô tả
PT Video Call (1 buổi)150KBook PT thật, video call 30 phút (chỉ gói Basic/Pro)
Nutrition Plan chi tiết99K/thángMeal plan + macro tracking theo mục tiêu
Body Composition Tracking49K/thángPhâ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 đãiVí dụ: Pro (399K/th)
Hàng thángGiá gốc399K/tháng
3 thángGiảm 10%1,077K (359K/th)
6 thángGiảm 20%1,915K (319K/th)
12 thángGiả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 độngMô tảBilling
Tạm dừngNghỉ 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 activeKhông charge trong thời gian pause, dời ngày gia hạn
DowngradeChuyển xuống gói thấp hơnHiệu lực từ chu kỳ tiếp theo
UpgradeChuyển lên gói cao hơnNgay lập tức — pro-rate phần chênh lệch
HủyHủy hoàn toànDù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àyTouchpoint
Mỗi ngày tậpPush 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ảyWeekly 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ụcSản phẩm ví dụGiá
Thiết bị nhỏDây kháng lực, dumbbell, yoga mat99K – 500K
Thực phẩm bổ sungWhey protein, BCAA, Pre-workout300K – 800K
Đồ tậpQuần áo tập FitFlow branded150K – 400K
Meal prepGó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óiSố nhân viênGiá/người/thángBao gồm
Team10 – 50149KPro features cho tất cả nhân viên
Company51 – 200129KPro + HR dashboard + team challenges
Enterprise200+Thương lượngCompany + 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:

ProgramThời gianMục tiêuLevel
“Giảm 5kg”12 tuầnGiảm cân bền vữngBeginner – Intermediate
“Tăng Cơ Nền Tảng”8 tuầnTăng lean muscle massBeginner
“Chạy 5K Đầu Tiên”6 tuầnHoàn thành 5K liên tụcBeginner
“HIIT Warrior”4 tuầnTăng thể lực, đốt mỡ nhanhIntermediate
“30 Ngày Yoga”4 tuầnLinh hoạt + thư giãnAll levels
“Body Recomposition”16 tuầnGiảm mỡ + tăng cơ cùng lúcAdvanced
“Strength Builder”12 tuầnTă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ạiVí 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:

CategorySố lượngUpdate rate
Exercise videos600++10-15/tháng
Workout programs25+ pre-built+3-5/quý
Guided meditations30++5/tháng
Nutrition recipes (VN)200++20/tháng
Educational articles100++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ầnTrọng sốCách tínhMax
Workout Score40%(buổi tập hoàn thành tuần này ÷ buổi theo giáo án) × 4040
Consistency Score25%(số tuần có tập ÷ 4 tuần gần nhất) × 2525
Progress Score15%Có PR mới? +8. Tổng volume tăng? +715
Engagement Score10%rate_workout +3, log_meal +3, watch_video +2, view_plan +210
Social Score10%share_post +4, like/comment +3, buddy_workout +310

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.

#SignalRisk ptsCách phát hiệnTại sao quan trọng
1Session ngắn dần+2Avg session giảm >20% so với 4 tuần trướcTập qua loa → mất hứng
2Skip exercises tăng+1Skip >30% bài tập trong buổiGiáo án không phù hợp hoặc chán
3Không PR mới >6 tuần+2Plateau → mất motivation
4Rate workout thấp liên tục+1Avg rating ≤2 trong 3 tuầnKhông hài lòng với giáo án
5Bỏ qua push notifications+1Click rate <10% trong 2 tuầnDisengage khỏi app
6Abandon workout tăng+2Start nhưng không complete >2 lần/tuầnBắt đầu nhưng bỏ giữa chừng
7Giảm tần suất đột ngột+3Từ 4-5 buổi/tuần → 1-2 buổi/tuầnWarning mạnh nhất
8Đã xem trang hủy/downgrade+2Intent signal rõ ràng

Churn Risk Score = tổng risk point (0-14):

Risk ScoreLevelAction
0 – 2LOWKhông can thiệp, nurture bình thường
3 – 4MEDIUMAI tự đổi giáo án + đề xuất workout mới
5 – 7HIGHBuddy match auto + PT call gợi ý + notification đặc biệt
8 – 10RITICALCSKH Zalo chủ động liên hệ + offer pause thay cancel + discount
11+SEVERERetention 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ả
IronTập ≥90% buổi theo giáo ánHardcore — tập gần như không bỏ buổi nào
SteadyTập 60-89% buổiĐều đặn — bỏ vài buổi nhưng maintain
CasualTập 30-59% buổiTập khi có hứng — inconsistent
SporadicTập <30% buổi nhưng còn tậpRất ít — gần churn
Absent0 buổi trong 4 tuầnDormant 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 viFCTần suấtLý do
complete_workout+100 FCMỗi buổiHành vi cốt lõi
Workout streak bonus+50 × tuần streakMỗi tuầnTuần 4 streak = +200 bonus
rate_workout+20 FCMỗi buổiFeedback = cải thiện AI
log_meal (nutrition tracking)+30 FCMỗi ngàyCross-feature engagement
take_progress_photo+50 FCMỗi tuầnTracking = habit
share_post+40 FCMỗi lầnUGC = organic marketing
referral_signup+1,000 FCMỗi lầnReferral = CAC thấp
complete_challenge+200–1,000 FCMỗi challengeEvent-driven engagement
set_personal_record+100 FCMỗi lầnCelebrate progress

Cách tiêu FC:

Quy đổiFCHiệu ứng
Giảm giá subscription (1 FC = 1 VNĐ)Tùy ýTrực tiếp
Mua sản phẩm MarketplaceTùy ýCross-sell
Streak Freeze (bảo vệ streak khi nghỉ)300 FCGiữ streak
Mở khóa Workout Đặc Biệt (Celebrity PT session)500 FCExclusive content
1 buổi PT Video Call miễn phí2,000 FCUpsell trải nghiệm
Tặng bạn 1 tuần Pro miễn phí1,500 FCViral 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:

StreakPhần thưởngFC earned
×4 (1 tháng đều đặn)Badge “Kỷ Luật Thép”+300 FC
×8Badge “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ệnThưở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:

LeaderboardMetricScopeReset
Volume KingTổng volume (kg × reps) trong tuầnToàn quốc, chia theo giới + levelMỗi thứ Hai
Consistency StarStreak tuần dài nhất đang chạyToàn quốcLiên tục
FitScore LeaderFitScore cao nhất tuầnNhóm bạn bè / buddy groupMỗ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áchThời gianGiải
Q1 (Tết)“New Year New Me” — streak 8 tuần + FitScore ≥708 tuầnBadge Tết + 2,000 FC
Q2 (Hè)“Summer Body” — complete 40 workouts + 3 PRs8 tuầnBadge Hè + 1 tháng Pro free
Q3 (Thu)“Đa Năng” — thử ≥5 loại workout + 1 live class6 tuầnBadge Globe + 1,500 FC
Q4 (Đông)“Team Spirit” — team 4 người đều streak ≥4 tuần4 tuầnBadge Đô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ướcIncentive
User gửi link mời bạnNhận 1,000 FC khi bạn subscribe
Bạn đăng ký qua linkBạn được 14 ngày Pro trial (thay vì 7) + 500 FC
Bạn hoàn thành 5 buổi tậpNgườ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ướcIncentive
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ướcIncentive
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 challengeBạn: 14 ngày Pro trial + 500 FC
Team hoàn thành mục tiêuCả 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
MetricHiện tạiTarget (12 tháng)
Viral coefficient (K)0.120.25
Referral conversion rate (link click → signup)10%18%
Transformation share rate (% active users share)3%10%
Challenge participation rate6%15%
Organic acquisition (% total new users)15%35%