🇻🇳
Falcon SDK
Vietnamese
Vietnamese
  • Falcon Core
    • 1. Cấu hình và cài đặt
      • Về FalconMain và Init SDK
    • 2. RemoteConfig và AB Testing
      • a. Ví dụ Remote Config
      • b. Ví dụ về abTesting và remote config
      • c. Xem biểu đồ phân tích
    • 3. Tính năng Force Update
      • Sửa giao diện popup Force Update
    • 4. Lịch sử thay đổi
  • Falcon Analytics
    • 1. Các hàm Log cơ bản
    • 2. Các hàm log tự động
    • 3. Log tự định nghĩa
    • 4. FPlayerInfoRepo
    • 5. QnA
    • 6. Cài đặt Appsflyer or Adjust
    • 7. Lịch sử thay đổi
  • Falcon Mediation
    • 1. Cấu hình và cài đặt
    • 2. Network settings
    • 3. Hướng dẫn sử dụng
    • 4. Lịch sử thay đổi
  • Consent Management Platform (CMP)
    • 1. Trường hợp không sử dụng FalconMediation
    • 2. Trường hợp có sử dụng FalconMediation
    • 3. Lịch sử thay đổi
  • Hướng dẫn chung
    • Hướng dẫn log revenue lên Firebase, Appsflyer, Adjust
    • Hướng dẫn lấy Falcon Key (FKey)
    • Hướng dẫn thêm game
  • Giải thích biểu đồ
    • 📓Tổng quan
    • 🔢Level
    • 💰InApp
    • 💰InApp Cohort
    • ▶️Advertisement
    • 🔄Resources Overview
    • ⬆️Source
    • ⬇️Sink
    • ⏱️Session
    • 📶Retention
    • 📉Funnel
    • 💹Dynamic Chart
    • 🛃Custom Dashboard
    • 🔁Flow Chart
    • ✅Evaluate AB Campaign
  • SDK 2.1.x (bản cũ)
    • I. Cấu hình và cài đặt
    • II. Falcon Analytics
      • DwhLogCache
      • Falcon AB Testing
      • Các hàm log tự động
      • QnA
Powered by GitBook
On this page
  • I. Tứ phân vị
  • II. Bộ lọc
  • 1. Difficultly
  • III. Biểu đồ
  • 1. Độ khó trên người PASS (Độ khó với người Pass)
  • 2. Độ khó trên người FAIL (Độ khó với người chưa Pass)
  • 3. Tỉ lệ người chơi Chưa Qua Level
  • 4. Tổng người chơi theo Level
  • 5. Thời gian chơi trung bình
  • 6. Số lượt chơi ở level hiện tại
  • IV. Notes
  1. Giải thích biểu đồ

Level

Level là biểu đồ phân tích các chỉ số trong game theo level. Ví dụ level nào người chơi rụng nhiều nhất, level nào tốn nhiều thời gian chơi nhất, người chơi tập trung ở level nào nhiều nhất,...

I. Tứ phân vị

Tứ phân vị (quartiles) là một khái niệm trong thống kê, được dùng để chia một tập hợp dữ liệu thành bốn phần bằng nhau về số lượng quan sát. Mỗi phần đại diện cho 25% dữ liệu.

Tứ phân vị bao gồm:

  • Q1 (first quartile - tứ phân vị thứ nhất: 25%) : là giá trị mà 25% dữ liệu nhỏ hơn hoặc bằng Q1.

  • Q2 (median - trung vị: 50%): chia dữ liệu làm hai phần bằng nhau, 50% nhỏ hơn hoặc bằng Q2.

  • Q3 (third quartile - tứ phân vị thứ ba: 75%): là giá trị mà 75% dữ liệu nhỏ hơn hoặc bằng Q3.

Việc sử dụng tứ phân vị ở các biểu đồ level sẽ cho cái nhìn khách quan hơn về các chỉ số phân tích so với việc chỉ xét về giá trị trung bình.

II. Bộ lọc

1. Difficultly

Các mức độ khó được định nghĩa trong game (Nếu các game không có độ khó mà có nhiều minigame trong 1 game, thì có thể dùng để định nghĩa các minigame).

  • VD: easy, normal, hard (mini game 1, mini game2,...),...

III. Biểu đồ

1. Độ khó trên người PASS (Độ khó với người Pass)

Định nghĩa: Số lượt chơi FAIL của 1 người chơi để PASS qua level đó (Một người phải chơi FAIL ít nhất bao nhiêu lượt để qua level).

Ý nghĩa: cho biết level nào quá khó, hoặc level quá dễ từ đó tối ưu lại để tăng trải nghiệm người dùng.

Công thức:

  • Từ các bản ghi LevelLog, dựa vào trường status, ta tổng hợp được mỗi player, mỗi level có Fail bao nhiều lần, chỉ lấy các player có pass level (số bản ghi pass level của player đó>0)

  • Từ dữ liệu trên, ta có:

  • Trong đó:

    • Level : level hiện tại của người chơi

    • Fail count : số bản ghi có status = fail tương ứng với player và level đó

    • Pass count : số bản ghi có status = pass tương ứng với player và level đó

VD: Hình 1.1 thể hiện ở level 33, mỗi người chơi cần chơi Fail trung bình 1.82 lượt mới có thể Pass qua level 33. 50% người chơi Pass qua level ở lượt chơi đầu tiên và 75% người chơi cần ít hơn hoặc là 2 lượt để Pass qua level.

2. Độ khó trên người FAIL (Độ khó với người chưa Pass)

Định nghĩa: Số lượt chơi FAIL của 1 người chơi mà CHƯA PASS qua level đó. (Người chơi chơi FAIL bao nhiêu lượt thì bỏ game/dừng game).

Ý nghĩa: cho biết level nào quá khó, gây nản cho người dùng

Công thức:

  • Từ các bản ghi LevelLog, dựa vào trường status, ta tổng hợp được mỗi player , mỗi level có Fail bao nhiều lần, chỉ lấy các player không pass level (số bản ghi pass level của player đó = 0)

  • Từ dữ liệu trên, ta có:

  • Trong đó:

    • Level : level hiện tại của người chơi

    • Fail count: số bản ghi có status = fail tương ứng với player và level đó

    • Pass count: số bản ghi có status = pass tương ứng với player và level đó

VD: Hình 1.2 thể hiện ở level 35, mỗi người chơi chơi Fail trung bình 6.32 lượt vẫn không thể Pass level. Có 25% người chơi chỉ chơi nhiều nhất 1 lượt và dừng game, 50% người chơi chơi đến lượt thứ 3 vẫn không thể Pass level, và 75% người chơi chơi ít hơn hoặc bằng 6 lượt và bỏ/dừng game ở level 35.

3. Tỉ lệ người chơi Chưa Qua Level

Định nghĩa: Biểu đồ thể hiện tỉ lệ phần trăm lượng người chơi chưa qua level.

Ý nghĩa: cho biết level nào gây drop rate cao( vì khó/ vì lỗi/vì chán/...)

Công thức:

  • Từ các bản ghi LevelLog, dựa vào trường status, ta tổng hợp được mỗi:level có bao nhiêu log Pass, vì mỗi player chỉ log pas 1 lần nên PassCount = số player Pass level

  • Từ dữ liệu trên, ta có:

  • Trong đó:

    • Level: level cao nhất mà người chơi đã Pass.

    • Pass count: số bản ghi có status = Pass tương ứng với level đó

Lưu ý: Nếu chỉ log level từ level 1 thì sẽ không có dữ liệu level 0 (người chỉ mới mở game/ mở tính năng mà chưa thực sự chơi) nên sẽ không thể có drop rate level 1, vì thế trong biểu đồ ví dụ trục level mới bắt đầu từ 2, nếu muốn có drop rate level 1 xin hãy log level 0.

VD: Hình 1.3 thể hiện 9.51% người chơi chưa qua level 14.

4. Tổng người chơi theo Level

Định nghĩa: Biểu đồ thể hiện phân bố người chơi theo các level

Công thức:

  • Từ các bản ghi LevelLog, dựa vào trường status, ta tổng hợp được mỗi player tối đa đạt đến level nào:

  • Từ dữ liệu trên, ta có:

  • Trong đó:

    • Level: level cao nhất mà người chơi đã Pass.

Lưu ý:

  • Người chơi A đã pass level 100, tuy nhiên muốn quay lại chơi level 5 để kiếm tài nguyên thì người chơi A vẫn được tính là đang ở level 100.

  • Các người chơi Fail level đầu tiên xong bỏ game khi chưa pass sẽ bị hệ thống tính là level 0

VD:

5. Thời gian chơi trung bình

Định nghĩa: Biểu đồ thể hiện thời gian trung bình của người chơi với mỗi loại status chơi

Ý nghĩa: Biểu đồ cung cấp thông tin cho dev cân đối lại độ dài của level

Công thức:

  • Từ các bản ghi LevelLog, ta có:

  • Trong đó:

    • Level: level hiện tại của người chơi

    • Status: Pass, Fail, RePlayPass, RePlayFail,...

    • Đơn vị: Giây (Second-s)

VD: Hình 1.5, ở level hiện tại 10, thời gian chơi trung bình để Pass qua level là 57,288s.

6. Số lượt chơi ở level hiện tại

Định nghĩa: Biểu đồ thể hiện số lượt chơi của người chơi ở level hiện tại

Công thức:

  • Từ bản ghi LevelLog, ta có:

  • Trong đó:

— Level là level hiện tại của người chơi

— Status: Pass, Fail, RePlayPass, RePlayFail,...

Ví dụ: Ở hình 1.6, tại level 11, có 44900 lượt chơi có status Pass.

IV. Notes

Sẽ có các trạng thái chơi: Pass, Fail, RePlayPass, RePlayFail

  • Nếu người chơi chưa Pass lần đầu thì Fail bao nhiêu lần cũng gửi lên là Fail.

  • Khi người chơi Pass lần đầu thì gửi lên là Pass

  • Nếu người chơi Pass lần đầu chơi lại bị Fail sẽ gửi lên là RePlayFail.

  • Khi người chơi đã Pass lần đầu chơi lại Pass sẽ gửi lên là RePlayPass.

VD: Người chơi A chơi level 5 lần thứ 10 thì pass. Pass xong người chơi đó chơi lại level 5 thêm 3 lần nữa, trong 3 lần chơi có 2 lần pass, 1 lần fail thì dữ liệu sẽ được log như sau: người chơi A có 9 LOG lượt chơi fail ở level 5, 1 LOG pass ở level 5, 2 LOG replaypass ở level 5 và 1 LOG repplayfail ở level 5.

PreviousTổng quanNextInApp

Last updated 26 days ago

LevelLog−>PlayData:={Player,Level,FailCount∣PassCount>0}LevelLog -> PlayData := \{Player, Level, FailCount| PassCount>0\}LevelLog−>PlayData:={Player,Level,FailCount∣PassCount>0}
DifficultyLvX=sum(PlayData.FailCountLevel=x)count(PlayData.PlayerLevel=x)=Total Fails LvXFor players passed LvXTotal players passed LvX\begin{split} Difficulty_{LvX} &= \frac {sum(PlayData.FailCount_{Level = x})} {count(PlayData.Player_{Level=x})} \\\\&= \frac{Total~Fails~LvX_{For~players~passed~LvX} }{Total~players~passed~LvX} \end{split}DifficultyLvX​​=count(PlayData.PlayerLevel=x​)sum(PlayData.FailCountLevel=x​)​=Total players passed LvXTotal Fails LvXFor players passed LvX​​​
LevelLog−>PlayData:={Player,Level,FailCount∣PassCount=0}LevelLog -> PlayData := \{Player, Level, FailCount| PassCount=0\}LevelLog−>PlayData:={Player,Level,FailCount∣PassCount=0}
DifficultyLvX=sum(PlayData.FailCountLevel=x)count(PlayData.PlayerLevel=x)=Total Fails LvXFor players not passed LvXTotal players not passed LvX\begin{split} Difficulty_{LvX} &= \frac {sum(PlayData.FailCount_{Level = x})} {count(PlayData.Player_{Level=x})} \\\\&= \frac{Total~Fails~LvX_{For~players~not~passed~LvX} }{Total~players~not~passed~LvX} \end{split}DifficultyLvX​​=count(PlayData.PlayerLevel=x​)sum(PlayData.FailCountLevel=x​)​=Total players not passed LvXTotal Fails LvXFor players not passed LvX​​​
LevelLog−>PlayData:={Level,PassCount}LevelLog -> PlayData := \{Level, PassCount\}LevelLog−>PlayData:={Level,PassCount}
RatioLevelX=PlayData.PassCountLevel=x)PlayData.PassCountLevel=x−1)=Total players passed Lv xTotal players passed Lv x−1\begin{split} Ratio_{LevelX} &= \frac {PlayData.PassCount_{Level = x})} {PlayData.PassCount_{Level=x-1})} \\\\&= \frac {Total~players~passed~Lv~x } {Total~players~passed~Lv~x-1} \end{split}RatioLevelX​​=PlayData.PassCountLevel=x−1​)PlayData.PassCountLevel=x​)​=Total players passed Lv x−1Total players passed Lv x​​
LevelLog−>PlayData:={Player,Level}LevelLog -> PlayData := \{Player, Level\}LevelLog−>PlayData:={Player,Level}
TotalLevelX=count(PlayData.PlayerLevel=X)=Total PlayerMaxPassedLv=X\begin{split} Total_{LevelX}&= count(PlayData.Player_ {Level=X}) \\&= Total~Player_{MaxPassedLv=X} \end{split}TotalLevelX​​=count(PlayData.PlayerLevel=X​)=Total PlayerMaxPassedLv=X​​
TimeLevelX,StatusY=∑LevelLog.DurationLevel=X,Status=Y)count(LevelLogLevel=X,Status=Y)=Total duration players spent for LvX StatusYTimes players play LvX StatusY\begin{split} Time_{LevelX,StatusY} &= \frac {\sum LevelLog.Duration_{Level = X, Status = Y})} {count(LevelLog_{Level = X, Status = Y})} \\\\&= \frac {Total~duration~players~spent~for~LvX~StatusY } {Times~players~play~LvX~StatusY} \end{split}TimeLevelX,StatusY​​=count(LevelLogLevel=X,Status=Y​)∑LevelLog.DurationLevel=X,Status=Y​)​=Times players play LvX StatusYTotal duration players spent for LvX StatusY​​
PlayTimesLevelX=count(LevelLogLevel=X)\begin{split} PlayTimes_{LevelX}&= count(LevelLog_{Level=X}) \end{split}PlayTimesLevelX​​=count(LevelLogLevel=X​)​
🔢
Hình 1.1 Biểu đồ Độ khó trên người Pass
Hình 1.2 Biểu đồ Độ khó trên người chơi Fail
Hình 1.3. Biểu đồ Tỉ lệ người chơi chưa qua Level
Hình 1.4. Biểu đồ Tổng người chơi theo level
Hình 1.5 Biểu đồ thời gian trung bình
Hình 1.6 Biểu đồ số lượt chơi của người chơi ở level hiện tại