Bỏ qua để đến nội dung

Engagement Platform - Mission System (Hybrid Model)

SharedShared Capabilities2.204 words11 min read
active
  • Chuẩn hóa hệ thống mission cho DOL English theo hướng:
    • tăng động lực quay lại học,
    • bám vào hành vi học thật,
    • giữ trải nghiệm đơn giản và không gây ngộp.
  • Tái dùng tối đa các ray hiện có:
    • Worklist/Activity,
    • Challenge Board,
    • Achievement/Badge/Reward,
    • Event Contracts,
    • Operating Model.
  • Dùng file này khi cần:
    • định nghĩa mission taxonomy,
    • quyết định reward mapping cho mission,
    • viết/cập nhật doc Home/Practice/Course/Vocab có liên quan mission,
    • tạo campaign brief cho weekly mission hoặc event challenge.
  • Không dùng file này để thay thế:
    • logic chi tiết của từng module học,
    • pixel/UI spec của từng screen.
  • Chọn mô hình hybrid, không đi theo:
    • template-only quest system vì dễ thành việc lặp vô nghĩa,
    • fully personalized only vì khó giữ nhịp vui, nhẹ và đa dạng mỗi ngày.
  • Mô hình chuẩn gồm 3 lớp:
    1. Daily Mission: nhiệm vụ cá nhân, tự động generate.
    2. Weekly Community Mission: nhiệm vụ tuần của cộng đồng, tự động vận hành theo template đã duyệt.
    3. Event Challenge: chiến dịch có vận hành từ platform, không auto-generated hoàn toàn.
  • Learning-first: mission phải kéo user vào hành vi học có giá trị thật.
  • Easy-first: luôn có điểm vào dễ để user không bị ngộp.
  • Variety without chaos: đa dạng nhưng có kiểm soát, không random vô nghĩa.
  • Simple surface, complete engine: user chỉ thấy mục tiêu rõ và phần thưởng rõ; complexity nằm ở backend.
  • No fake pressure: mission gợi động lực, không phạt nặng hay tạo cảm giác bất khả thi.
  • Reward with fairness: chỉ thưởng khi hành vi đạt chuẩn hợp lệ, không khuyến khích spam.
  • daily_personal_mission
    • scope: personal
    • cadence: daily
    • generation: automatic
  • weekly_community_mission
    • scope: global mặc định, có thể mở program sau
    • cadence: weekly
    • generation: automatic from approved templates
  • event_challenge
    • scope: global | program | campaign
    • cadence: time-boxed
    • generation: operator-managed
  • Mặc định chỉ hiển thị 2 mission chính mỗi ngày:
    • Warm-up mission: dễ, vào nhanh, hoàn thành trong thời lượng ngắn.
    • Focus mission: gắn với next-best-action hoặc nhu cầu học thật của user.
  • Stretch mission là optional layer:
    • chỉ mở khi user có tín hiệu engagement tốt,
    • không tạo cảm giác “thiếu” nếu user bỏ qua.
  • warm_up
    • mission mở đầu nhẹ, giúp user có cảm giác “vào học được ngay”.
  • focus_progress
    • mission kéo user tiến gần hơn đến goal, due item, hay next-best-action thật.
  • recovery
    • mission cứu nhịp học khi user có tín hiệu decline, backlog, hoặc bỏ lỡ routine.
  • stretch
    • mission khó hơn một chút để tăng cảm giác chinh phục, nhưng vẫn phải khả thi.
  • community_contribution
    • mission cá nhân gắn với đóng góp cho mục tiêu tuần của cộng đồng.
  • Warm-up mission lấy từ pool nhẹ, có xác suất hoàn thành cao:
    • ví dụ: hoàn thành 1 bài ngắn hợp lệ, xử lý queue vocab đến hạn, xem recap rồi làm 1 action tiếp theo.
  • Focus mission lấy từ hành vi có giá trị học thật:
    • bài đang làm dở,
    • bài due gần,
    • mục tiêu gắn với primary_goal,
    • rescue/recovery action nếu user đang decline.
  • Stretch mission chỉ dùng cho user có load phù hợp:
    • không giao nếu user mới quay lại,
    • không giao nếu backlog đang nặng,
    • không giao nếu entitlement/context không cho phép.
  • goal context
    • primary_goal, lane học chính, target gần nhất.
  • study state
    • bài đang dở, item due, rescue state, class prep, result follow-up.
  • recent behavior
    • completion quality, miss pattern, streak/recovery state, fatigue signals.
  • entitlement and access
    • premium/live access, module availability, lịch học hiện tại.
  • freshness memory
    • template nào vừa xuất hiện, skill nào vừa được dùng, surface nào vừa bị lặp.
  • Mỗi mission phải có difficulty_band:
    • easy,
    • standard,
    • stretch.
  • Daily pack mặc định:
    • 1 easy,
    • 1 standard,
    • 0..1 stretch.
  • Rule tăng độ khó:
    • tăng chậm theo completion quality và continuity gần đây,
    • không tăng chỉ vì user “mở app” nhiều.
  • Rule chống lặp:
    • không lặp cùng mission_template_family quá 2 ngày gần nhau nếu còn template hợp lệ khác,
    • cooldown_days cho từng template,
    • ưu tiên đổi skill, surface, hoặc action_type trước khi lặp lại cùng wording.
  • Rule khả thi:
    • chỉ generate mission mà user có thể hoàn thành trong context hiện tại,
    • không giao mission đòi premium nếu user không có entitlement,
    • không giao mission đã bị khóa bởi lịch, timezone, hay thiếu tài nguyên.
  • Tạo cảm giác “cùng học với nhau” ở mức nền tảng mà không biến Home thành social dashboard nặng.
  • Dùng để tăng quay lại và nhịp đóng góp, không thay thế leaderboard chi tiết.
  • Mỗi tuần chỉ nên có 1 active weekly community mission ở baseline.
  • Mission này đọc từ hành vi học hợp lệ ở quy mô nền tảng:
    • hoàn thành bài hợp lệ,
    • phút học hợp lệ,
    • vocab care hợp lệ,
    • các action cộng đồng đã được định nghĩa rõ.
  • Mọi user đều thấy:
    • tiến độ cộng đồng,
    • đóng góp cá nhân,
    • thời gian còn lại,
    • CTA quay lại hành động học phù hợp.
  • Chỉ user có minimum qualified participation mới nhận thưởng khi mission tuần thành công.
  • Reward mặc định ưu tiên:
    • badge,
    • hoặc XP nhẹ.
  • Spendable reward chỉ dùng khi:
    • có budget/cap rõ,
    • đã duyệt với reward economy policy.
  • Dùng cho campaign theo mùa, sự kiện, cột mốc thương hiệu hoặc chiến dịch học tập đặc biệt.
  • Đây là lớp “high-intent”, không auto-generated như daily/community missions.
  • Event challenge phải có owner vận hành rõ:
    • mục tiêu,
    • eligibility,
    • verification model,
    • budget thưởng,
    • thời gian chạy,
    • policy moderation/review.
  • Event challenge được phép yêu cầu hành vi thực tế hơn:
    • hoàn thành chuỗi hành động,
    • tham gia campaign lane cụ thể,
    • nộp output cần review,
    • các mốc cần moderation/batch settlement.
  • Không mở quá nhiều event challenge song song gây loãng focus.
  1. Draft
    • chọn template, scope, reward budget, eligibility và verification path.
  2. Review
    • Product + UX + Data + Eng + Trust/Safety duyệt rule quan trọng.
  3. Launch
    • mở challenge theo start_at/end_at, có empty-state fallback nếu user không đủ điều kiện.
  4. Monitor
    • theo dõi completion quality, abuse flags, fairness gap.
  5. Settle
    • realtime nếu đơn giản; batch nếu cần moderation hoặc reconciliation.
  6. Audit
    • tổng kết metric, keep/adjust/retire template.
  • XP là thuật ngữ UI có thể dùng cho mission reward.
  • Canonical backend term không đổi:
    • learning_points: điểm để rank global.
    • lifetime_points: progression dài hạn.
    • spendable_points: điểm đổi quà.
  • Daily mission XP:
    • map vào lifetime_points theo grant nhỏ,
    • không tự động map vào learning_points.
  • Weekly community mission reward:
    • ưu tiên badge hoặc lifetime_points,
    • có thể thêm spendable_points nếu đã có budget.
  • Event challenge reward:
    • có thể dùng badge, lifetime_points, spendable_points, hoặc bundle của chúng.
  • Learning points chỉ dùng cho rank khi action nền bên dưới đã là hành vi học đủ chuẩn theo ENG_13.
  • Không dùng mission completion nhẹ kiểu “mở app”, “click vào màn”, “xem xong card” để cấp learning_points.
  • Không cho low-friction missions trở thành shortcut để leo rank global.
  • MissionDefinition
    • mission_id
    • family (daily_personal_mission | weekly_community_mission | event_challenge)
    • scope (personal | program | global | campaign)
    • template_id
    • generation_mode
    • difficulty_band
    • action_type
    • qualification_rule
    • reward_policy_ref
    • freshness_window
    • cooldown_days
    • rule_version
    • status
  • MissionAssignment
    • user_id (optional với community/event)
    • mission_id
    • surfaced_at
    • expires_at
    • personalization_reason
  • MissionProgress
    • user_id
    • mission_id
    • progress_value
    • target_value
    • state (not_started | in_progress | completed | expired | settled)
  • MissionParticipation
    • mission_id
    • user_id
    • qualified_contribution_value
    • participation_state
  • MissionRewardSettlement
    • mission_id
    • user_id
    • achievement_id (optional)
    • award_key
    • grant_key
    • settlement_state
  • Home
    • 1 mission module gọn,
    • ưu tiên daily mission,
    • weekly community mission là secondary block.
  • Practice / Course / Vocab
    • chỉ hiển thị mission-aware CTA hoặc progress chip,
    • không dựng dashboard mission riêng ở mỗi module.
  • Profile
    • archive kết quả qua badge/reward summary,
    • không cần mission history dày ở baseline.
  • Notifications
    • đi qua governor hiện có,
    • không spam reminder nếu user đã bị nhiều nudge khác trong ngày.
  • Không gửi reminder mission nếu trong ngày user đã nhận nudge mạnh hơn từ:
    • deadline,
    • class start,
    • recovery prompt,
    • payment/risk flow.
  • Daily mission reminder tối đa 1 nhịp chính/ngày.
  • Weekly community mission chỉ nên có:
    • 1 nhịp nhắc giữa kỳ nếu participation thấp,
    • 1 nhịp “sắp chốt” gần deadline.
  • Event challenge follow-up phải theo campaign plan riêng, không override global governor.
  • Nếu user miss mission liên tiếp:
    • giảm difficulty trước,
    • đổi template family sau,
    • không tăng tần suất nhắc như hình phạt.
  • Không mở mission map, guild, party, hay narrative quest tree phức tạp ở phase này.
  • Không tạo ledger điểm mới chỉ để phục vụ naming.
  • Không để Home trở thành bảng tổng hợp social/game dày đặc.
  1. Khóa taxonomy + canonical fields + reward mapping.
  2. Mở Daily Mission baseline:
    • Warm-up + Focus.
  3. Mở Weekly Community Mission baseline:
    • 1 mission/tuần,
    • minimum participation threshold.
  4. Mở Event Challenge với operator workflow tối giản.
  5. Tối ưu diversity, difficulty ladder, notification governor và analytics.
  • daily_mission_accept_rate
  • daily_mission_completion_rate
  • mission_repeat_fatigue_rate
  • weekly_mission_participation_rate
  • weekly_mission_completion_uplift
  • mission_reward_claim_integrity_rate
  • mission_to_learning_action_rate
  • Daily mission completed sớm:
    • giữ trạng thái completed đến hết ngày, không random regenerate ngay để tránh farm.
  • Daily mission expired:
    • không phạt user,
    • không cấp reward,
    • dùng làm tín hiệu để giảm độ khó hoặc đổi template về sau nếu miss lặp lại.
  • Weekly community mission thành công nhưng user chỉ xem không tham gia:
    • không nhận reward nếu không đạt minimum qualified participation.
  • Event challenge cần moderation:
    • trạng thái user-facing chỉ nên là submitted, under review, rewarded, not qualified.
  • Late event hoặc reconciliation:
    • settlement có thể điều chỉnh qua batch nhưng phải replay-safe và có audit trail theo ENG_06ENG_12.
  • 2026-03-06: Tạo canon Mission System theo hướng hybrid cho DOL English gồm daily mission, weekly community mission và event challenge.
  • 2026-03-06: Khóa decision XP là UI term, còn canonical backend vẫn dùng learning_points, lifetime_points, spendable_points.
  • 2026-03-06: Chốt baseline Warm-up + Focus + optional Stretch để giữ trải nghiệm đơn giản nhưng vẫn đa dạng.