Insights
Chart how often something happens, how many players do it, and how much of something they spend or earn, over time or across a whole range, with filters, breakdowns and formulas.
An insight charts one or more metrics from the markers your experience sends: how many players logged in each day, how many purchases they made, how much they spent, how many players are online right now. It's the default query type in the Query Builder and the one most dashboard charts use.
Every metric answers two questions: what to count (an event, or a stat like concurrent users) and how to measure it (total events, unique users, the sum of a property, and so on). Add up to 15 metrics to one insight to compare them, and combine them with formulas for ratios and rates.
Building an insight
- Open the builder. On a dashboard, click Edit, then Add panel → Query. Insight is selected at the top of the query setup.
- Add a metric. Click the + beside Metrics and pick an event, such as
session_start. - Choose how to measure it. Click the measurement under the metric (it starts as Total Events) and pick another, such as Unique Users or Aggregate Property → Sum of
price. - Narrow it down (optional). Add a filter to one metric or to all of them, and a breakdown to split the results, for example by country.
- Pick a time range and chart type above the chart.
- Save. Give it a name and click Create. See Saving a query.
Metrics
Click the + beside Metrics to add one. The picker has three tabs:
| Tab | What it lists |
|---|---|
| Event | Every marker your experience has sent, built-in ones (like session_start) and your custom markers. Hover one to preview it. |
| Stats | CCUs: concurrent users, sampled by Gamebeast from your servers. Stats aren't tied to individual players, so they're measured with Sum, Average, Median, Minimum, Maximum, First or Last Value. |
| Formula | A new formula, or one of your saved formulas. See Formulas. |
Each metric gets a letter badge (A, B, C …) that formulas use to refer to it.
Working with metrics
Hover a metric for quick actions, or open its ⋯ menu (or right-click it) for everything:
- Duplicate: copy the metric with its measurement and filters. A quick way to chart the same event two ways, for example with and without a filter.
- Filter: add a filter that applies to this metric only. See Local filters.
- Hide metric / Show metric: take the metric off the chart without removing it. Hidden metrics are still calculated, so a formula can still use them.
- Edit display name: rename the metric on the chart, legend and table. The original event name stays in the tooltip.
- Remove: delete the metric.
Drag a metric by its handle to reorder it. The order sets the legend and series order, and formulas follow their metrics when you reorder.
Measurements
The measurement decides what number a metric produces. Click it under the metric to change it.
| Measurement | What it counts |
|---|---|
| Unique Users | Players who sent the event at least once. |
| Total Events | Every time the event was sent. |
| Total Sessions | Sessions that contain the event at least once. |
| Frequency per User | How many times each player sent the event, summarized across players (average, median, …). |
| Frequency per Session | How many times the event was sent in each session, summarized across sessions. |
| Aggregate Property | A property or argument of the event, aggregated across every event: sum, average, maximum, … |
| Aggregate Property per User | The property aggregated for each player first (for example, each player's total), then across players. |
| Aggregate Property per Session | The property aggregated for each session first, then across sessions. |
Every measurement is worked out separately for each point on the chart: each day (or hour, or week) on a time chart, and each breakdown value.
A worked example
Three players, and the purchase events they sent in one day. Each event has a price argument.
| Player | Session | purchase events (price) |
|---|---|---|
| Ana | Session 1 | 100, 50 |
| Ana | Session 2 | 25 |
| Ben | Session 1 | 200 |
| Cleo | Session 1 | none |
For the purchase event, that day:
| Measurement | Result | Why |
|---|---|---|
| Unique Users | 2 | Ana and Ben. Cleo never sent purchase. |
| Total Events | 4 | 100, 50, 25 and 200. |
| Total Sessions | 3 | Ana's two sessions and Ben's one. |
| Frequency per User → Average | 2 | Ana made 3, Ben made 1. |
| Frequency per Session → Average | 1.33 | 2, 1 and 1 purchases per session. |
Aggregate Property → Sum of price | 375 | 100 + 50 + 25 + 200. |
Aggregate Property → Average of price | 93.75 | The average purchase. |
| Aggregate Property per User → Average of (Sum per User) | 187.5 | Ana spent 175 and Ben 200: the average spend per paying player. |
| Aggregate Property per Session → Average of (Sum per Session) | 125 | 150, 25 and 200 spent per session. |
Frequencies and per-player values only include players (and sessions) that sent the event. Cleo is in none of them. To compare against every active player, divide by a separate Unique Users metric of session_start with a formula.
Unique Users and active users
Click the gear beside Unique Users to choose the window players are counted over:
- Interval (Default): unique players in each point on the chart. On a daily chart that's each day; on a weekly chart, each week.
- Daily Active Users, Weekly Active Users, Monthly Active Users: unique players over the last 1, 7 or 30 days, rolling. A daily chart of Monthly Active Users shows, for each day, the players active in the 30 days up to that day. On a chart coarser than the window (DAU on a weekly chart), the values are averaged over each point.
Use Unique Users of session_start (or any event every player sends) for active players, and pair DAU and MAU in a formula for stickiness.
Frequencies
Frequency per User and Frequency per Session count events for each player or session, then summarize those counts with Average, Median, Minimum, Maximum, or a Percentile (25th, 75th, 90th or 99th). Use them for questions like "how many rounds does a typical player play a day?" (median) or "how many do our heaviest players play?" (90th percentile).
Aggregating a property
Aggregate Property works on a value carried by the event, such as a price, amount or duration argument. Pick a function, then the property:
- Sum, Average, Median, Minimum, Maximum, Percentile (25th, 75th, 90th, 99th), First Value, Last Value: for numeric properties.
- Distinct Count: the number of different values, for any property. For example, how many different items were bought.
Aggregate Property per User and per Session aggregate twice. First each player's (or session's) values are combined with Sum, Average, Distinct Count, Minimum, Maximum, First Value or Last Value. Then those per-player results are combined with the outer function. The chart shows it as, for example, Average of (Sum price per User): the average total spend per paying player.
Cumulative Sum
Open Advanced in the measurement menu and choose Cumulative Sum to turn a metric into a running total: each point is the sum of every point up to and including it. Use it for growth curves like total revenue or all-time sign-ups. A Cumulative Sum chip shows on the metric; click its × to turn it off.
Cumulative sums apply to time charts (Line, Stacked Line, Column, Stacked Column and Table). Bar, Pie and Metric charts show the total over the range instead.
Cumulative unique users
A cumulative sum of Unique Users adds up each day's players, so a player who comes back on three days counts three times. For players seen at least once, use a cohort instead.
Chart types
Pick the chart from the controls above the chart.
| Chart | Shows | Good for |
|---|---|---|
| Line | Each metric over time. | Trends: daily players, revenue per day. |
| Stacked Line | Series stacked on each other over time. | How a total over time splits into parts. |
| Column | Each metric over time, as columns. | Counts per day or week. |
| Stacked Column | Columns stacked by series. | Composition per day: new vs returning players. |
| Bar | One bar per metric or breakdown value, for the whole range. | Ranking: purchases by item, players by country. |
| Stacked Bar | Bars stacked by breakdown value. Needs a breakdown. | Composition across categories. |
| Pie | Each series' share of the whole range. | Proportions with a handful of values. |
| Metric | One number for the whole range. | Headline numbers on a dashboard: players this week. |
| Table | Exact values over time. | Reading or exporting precise numbers. |
| World Map | Values by country, shaded on a map. | Where players come from. Adds a Country breakdown. |
Line, Stacked Line, Column, Stacked Column and Table are time charts: they show a value for each point in time, at the granularity you pick. Bar, Stacked Bar, Pie, Metric and World Map measure the whole range at once. A whole-range Unique Users counts each player once for the range, so it isn't the sum of the daily values.
Chart options
- Show or hide a series by clicking it in the legend.
- Zoom into a time chart by dragging across it. Click Reset Zoom to go back.
- Annotations: on Line and Stacked Line charts, hover the chart and click the button in its top-right corner to switch from zooming to Create annotation. Then drag across the time the annotation covers, such as a release or a live event, and save it. Annotations belong to the project, so they show on every Line and Stacked Line insight that covers that time, along with your jobs.
- In the ⚙ tab at the top of the query setup, Invert colors order reverses the series colors, and Chart configuration sets a fixed Min and Max for the value axis.
Units and formatting
Click the badge to the left of a metric to choose how its values are shown. Formatting only changes how numbers look, never what's calculated.
- Number, Percentage (adds
%), time units from Milliseconds to Years, currencies (Robux (R$), USD ($), Euro (€), Pounds (£)), or Custom with your own prefix and suffix. - Compact abbreviates large numbers (1,200 shows as 1.2K). On by default.
- Decimals sets the number of decimal places, from 0 to 9.
Time units say what the value is already in, not what to convert it to. If duration is sent in seconds, choose Seconds: Gamebeast shows longer values in minutes or hours on its own.
Counts have a fixed unit (Unique Users counts users, Total Events counts events, CCUs count users), so the unit is set for you and the badge shows it. You choose the unit when you aggregate a property, and for formulas.
Reading the results
While you're building, a table under the chart lists each series with its Average, Min, Max and Sum over the range. Hover any point on the chart for its exact value.
With a breakdown, each breakdown value is its own series. Values beyond the breakdown's limit are grouped into an Other series.
Experiment coverage. When you filter or break down by an experiment, a note under the builder says if some markers in the range are missing experiment data. Those markers are left out of every experiment series, so treat results with low coverage carefully.
No data. If the chart says No data found, check the time range, then remove filters one at a time to find the one that excludes everything.
Recipes
| Question | Metric | Measurement | Extras |
|---|---|---|---|
| How many players play each day? | session_start | Unique Users | Line, Day |
| How many new players do we get? | session_start | Unique Users | Global filter User → New User is true |
| How sticky is the game? | session_start twice | Unique Users → Daily Active Users, and → Monthly Active Users | Formula A / B * 100 |
| How many players are online? | Stats → CCUs | Average or Maximum | Line, Hour |
| How much revenue do we make per day? | purchase | Aggregate Property → Sum of price | Unit Robux |
| What does a paying player spend? | purchase | Aggregate Property per User → Average of (Sum price per User) | Unit Robux |
| Which items sell best? | purchase | Total Events | Breakdown by item, Bar, Limit 10 |
| Where do our players come from? | session_start | Unique Users | World Map |
| How long are sessions? | session_end | Aggregate Property → Median of duration | Unit Seconds |
| How many rounds does a heavy player play? | round_start | Frequency per User → 90th Percentile | |
| Which experiment group buys more? | purchase | Unique Users | Breakdown by the experiment |
| How did the update change engagement? | session_start | Unique Users | Annotate the release date |
Event and argument names here are examples. Use the markers your experience sends.
With the assistant
Describe the chart you want to the assistant, such as "daily revenue from new players over the last month, by platform", and it builds the insight, runs it, and lets you open it in the builder or add it to a dashboard. Agents connected over MCP can build and save insights the same way.
Query Builder
Turn the markers your experience sends into charts: pick a query type, choose what to measure, filter and break it down, set the time range, and save it to a dashboard.
Funnels
Funnels are a great way to visualize the flow of players through your game, allowing you to see where players are dropping off and which paths they are taking.