Did you find this helpful?
Real-time Analytics: Core Concepts
The purpose of the analytics system is to give you precise insights into what is going on inside your game. How many players did you have today? Where do they struggle? What do they like? How many games were played, how much XP was gained, how many chests were opened and on which levels? What is the average time for completing a certain level? Such information is invaluable for marketing, level design, UX troubleshooting and other aspects of your product development.
At its core, the analytics system provides tools to aggregate, query, and analyze the events generated by your game; build reports; and export and manipulate the raw data.
An event, as a data structure, represents a change in state for your game. Events are represented as JSON objects. Each event has four parts:
- Name or unique type identifier (What happened?)
- Entity (Player, Title, or Character; Who's guilty?)
- Timestamp (When it happened?)
- Associated data a.k.a. body (What are relevant details?)
It is important to distinguish between automatic and custom events.
The core of any analytics system is the event flow, a big list of events sorted by time. Your players produce a large number of different events. Of course, events are not captured by themselves - you need an analytics system to capture those for later analyses. A solid analytics system allows you to group, sort, filter, count, transform, and perform calculations on a given set of events, turning event flow into valuable, up-to-date information that you can use to run efficient LiveOps.
- Event History: Game Manager page for inspecting event flow inside your title
- Reports: Game Manager page for extracting and inspecting event flow in a strict report format
- Webhooks: Game Manager page for automatically triggering non-PlayFab servers on specific game events
- Event Archive: Game Manager page for accessing recent PlayStream events.