> For the complete documentation index, see [llms.txt](https://docs.graspil.com/en/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.graspil.com/en/app/reports/trends.md).

# Trends

This report type shows how selected metrics change over time. The X axis is dates, the Y axis is the metric's value based on the chosen aggregation. The same report can also be shown as a table of numbers instead of a chart — switching the format (chart/table) doesn't change the metric's settings.

## How to add a trend

1. Click "Add trend" (or the equivalent button for adding a metric).
2. Choose the event you want to track — e.g. "Purchase" or "New users". You can pick a specific event or "All events" if you care about overall activity.
3. Choose an aggregation — how exactly to count the selected event (see the table below).
4. If needed, add a filter to this metric — click the funnel icon next to the event. Available filter fields are described on the [Filter Fields](/en/app/reports/filter-fields.md) page.
5. Repeat for every metric you want to see on the same chart — you can add several trends at once, shown as separate lines.

## Aggregations

An aggregation defines exactly what's counted for the selected event on each day (or other period).

| Aggregation                 | What it shows                                                                                                                                                                                                                                 |
| --------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Total**                   | The total number of events over the period                                                                                                                                                                                                    |
| **Unique users**            | How many different users performed this event, based on the `user_id` field                                                                                                                                                                   |
| **Active users (MAU, WAU)** | How many unique users performed the event over the last 30 (MAU) or 7 (WAU) days, relative to each point on the chart                                                                                                                         |
| **Unique sessions**         | How many different bot sessions contain this event                                                                                                                                                                                            |
| **Unique App sessions**     | How many different Mini App sessions contain this event                                                                                                                                                                                       |
| **Count per user**          | How many events occur per user — you can choose average, minimum, maximum, or median                                                                                                                                                          |
| **Property value**          | Aggregates a numeric value in the event's properties rather than the event count (sum, average, min, max, median). Useful for totalling sales amounts instead of just counting them. There are two fields to choose from — see the note below |

{% hint style="warning" %}
The "Property value" aggregation offers two fields:

* `events.value_int` — the "raw" value exactly as it was sent in the event (in `value_num`), **without** converting it to normal units and **without** currency conversion. For monetary events this is the smallest unit of the currency (e.g. kopecks for RUB) — if the sale amount was 999 RUB, `value_int` will be 99900.
* `events.value_amount` — the same value, converted to normal units (rubles instead of kopecks) and to the currency exchange rate set in your [profile](https://app.graspil.com/profile).

If you're totalling **money** (sales, revenue, etc.), use `events.value_amount` — otherwise the total will look 100x too large (or more, if the unit isn't kopecks/cents). `events.value_int` is fine for non-monetary numeric values where no unit conversion is needed.
{% endhint %}

## Comparing several metrics

You can show several trends on the same chart at once — for example, "New users" and "Blocked the bot" side by side, to compare growth and churn.

## Breakdown

A breakdown splits one metric into several lines — one for each value of the chosen field. For example, a breakdown by source (UTM) shows a separate line for every traffic channel, and a breakdown by country shows a separate line for every country.

You can choose several fields for the breakdown at once — the lines are then built from the combination of their values.

## Formula mode

Formula mode lets you add, subtract, multiply, and divide the resulting values of several trends. Each trend is assigned a letter — `A`, `B`, `C`, and so on, in the order they were added. In formula mode you write an expression using those letters, and a new line appears on the chart — the result of the calculation.

**Example:** we want to see the percentage of users who left, relative to the total number who arrived.

1. Trend `A` — event "New users in bot", aggregation "Total".
2. Trend `B` — event "Bot blocked", aggregation "Total".
3. Formula: `B / A * 100` — a line showing the percentage of churned users by day.

## Example report

**Sales total by day, broken down by traffic source**

* Metric: event "Purchase", aggregation "Property value" → sum of `events.value_amount`
* Breakdown: by field "UTM (First launch) → Source"
* Date range: last 30 days

The result is several lines, one per traffic source, showing the sales total in your profile's currency by day (events in other currencies are automatically converted at the exchange rate).
