# Insights

**Explore**, under **Insights** in the Dashboard menu, charts your payment and customer data from a report you choose, and **Saved insights** lists the insights you saved there. This page explains how their numbers read. Each report has a page of its own that describes every measure, breakdown and filter it offers.

| Report                                                                                         | What it covers                                                                                                            | The date range selects                                       |
| ---------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------ |
| [Payments](https://docs.odus.com/docs/guides/dashboard/insights/payments.md)                   | Your payments and what became of them, with the revenue, refunds and chargebacks behind them                              | Payments, by when they were created                          |
| [Customer value](https://docs.odus.com/docs/guides/dashboard/insights/customer-value.md)       | What your customers are worth: each customer placed by their first charge, with every upsell and rebill they pay after it | Customers, by when they made their first charge              |
| [Projected billing](https://docs.odus.com/docs/guides/dashboard/insights/projected-billing.md) | The subscription charges coming up: each active subscription's next scheduled charge                                      | Charges, by the day they are scheduled for — today and later |
| [Rebills](https://docs.odus.com/docs/guides/dashboard/insights/rebills.md)                     | Subscription renewals and what became of them each day                                                                    | Rebills, by the day they were approved or declined           |

info

The **Payment summary**, **Customer value** and **Projected billing** pages elsewhere in the **Insights** menu are separate reports. They count by rules of their own, so their numbers can differ from the reports in Explore.

## How an insight is built

| Control           | What it does                                                                                                                                                           |
| ----------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Report**        | The report the insight reads. Measures, breakdowns and filters belong to a report, so choosing another report clears them.                                             |
| **Measures**      | The numbers to show. Choose one or more.                                                                                                                               |
| **Break down by** | Splits every measure by the values of one breakdown: revenue by currency, payments by outcome.                                                                         |
| **Top values**    | How many values of the breakdown to show — 3, 5 or 10 — keeping the values with the largest totals in the first measure.                                               |
| **Date range**    | The period the insight covers. Each report places its rows in time by a date of its own, listed in the table above.                                                    |
| **Interval**      | One point per hour, day, week, month, quarter or year, or **Total** for one number over the whole period. An interval that does not fit the date range is unavailable. |
| **Compare with**  | Shows the measures for an earlier period as well: the previous period, the same dates a year earlier, or a period as far back as you type, such as `-4w`.              |
| **Filter**        | Keeps only the rows whose value meets the condition. [Filters](#filters) says how several filters combine.                                                             |
| **Formula**       | Combines the measures into a number of its own, such as refunds as a percentage of gross revenue. [Formulas](#formulas) says how to write one.                         |

## Reading the numbers

* **Counts** say how many there are of what the measure names: payments, customers, rebills.
* **Amounts** are in your [display currency](https://docs.odus.com/docs/guides/dashboard/merchant-configuration.md#display-currency). Averages, such as an average order value, are rounded down to the smallest unit of that currency.
* **Rates** are percentages with two decimals. A rate with nothing to take a percentage of reads 0.00%.
* **Dates** are in your [timezone](https://docs.odus.com/docs/guides/dashboard/merchant-configuration.md#timezone): a day, a week or a month starts at midnight there.

warning

An amount paid in another currency is converted to your display currency at the latest exchange rate, not the rate on the day of the payment. The total of a past period changes as exchange rates move.

Rates, and counts that count each customer once, do not add up across the values of a breakdown or the points of a chart. A customer who paid in two currencies counts once under each currency, and once in the total. For these measures, read the total rather than adding up the rows.

## Breakdowns

Rows with no value for the breakdown are grouped under **none**: broken down by **Card brand**, the payments not made by card. With **none** included, the values of a breakdown add up to the total of a measure that adds up.

The values past **Top values** are grouped under **Other**, so the chart still adds up to the total. Some measures cannot be added together across values: rates, counts of customers, counts broken down by **Product** or **Price** (where one payment or customer can count under several products), and the averages computed from them. When an insight holds one of these, the values past the top are left out for **every** measure in it, and there is no **Other**.

warning

Put **Gross revenue** beside **Approval rate** in an insight with a breakdown, and the revenue of the values past **Top values** is left out of the chart, with no **Other** to show it. To see it, show the rate in an insight of its own. An average computed from measures that add up, such as **Average order value** broken down by **Currency**, keeps an **Other** of its own.

## Filters

A filter compares with one of the conditions **is**, **is not**, **is one of** and **is none of**. A filter on a number also takes **greater than**, **at least**, **less than** and **at most**. **Product** and **Price** take only **is** and **is one of**.

A row must meet every filter you add. Rows on the same filter combine by their conditions:

* Two or more **is** rows keep a row that matches any of their values, together with the values of any **is one of** row beside them: **Billing country** is **United States**, is **Canada** and is one of **United Kingdom** keeps all three countries. A single **is** row beside an **is one of** row keeps only a value both name.
* **is one of** rows join their values.
* **is not** and **is none of** rows leave out every value they name.
* Bounds on a number must all hold: **at least** `10` and **at most** `50` keep the range between them, and two **at least** rows keep the higher.

When a filter's values are fixed, you choose from all of them: a status, an outcome, a type such as **Card type** or **Attempt type**, the ad platform, or a country, which you choose by its name. For another filter on a breakdown, you choose from the values in the date range, the most common first. The list is read from the latest 100,000 rows of the date range, so a rarer value can be missing from a long one: type it to use it. A listed value can still match no row of the report. For the other filters, you type the value.

warning

A filter never keeps the rows grouped under **none**, whatever its condition. **Card brand** is not **Visa** also leaves out every payment not made by card, and **Billing country** is none of **United States** leaves out every payment whose customer gave no billing address.

## Formulas

Choose the measures first. Once you add a formula, **Measures** shows each measure under a letter, in the order you chose them: `A` the first, `B` the second. Write the formula with those letters, numbers, `+`, `-`, `*`, `/`, `%` (the remainder), `**` (the power) and parentheses. With **Gross revenue** as `A` and **Refund amount** as `B`, `B / A * 100` is the share of gross revenue refunded.

Once an insight has a formula, its chart and table show the formulas in place of the measures. To show a measure beside a formula, add a formula of its letter alone, such as `A`. A formula is computed for every value of a breakdown and for the period you compare with, as a measure is. Give a formula a **Name** to read it by; without one, it reads as `Formula (B / A * 100)`.

A formula's result reads as a plain number with up to two decimals, and a division by zero reads 0:

* A share of one measure in another, such as `B / A * 100`, reads as a percentage without the % sign.
* Amounts enter a formula in the smallest unit of your display currency, such as cents. `A - B` over two amounts reads 494,000 for $4,940.00.

A measure that a formula names cannot be removed until no formula names it. Removing another measure changes the letters of the measures after it, and the formulas change with them, so each still names the same measures.

## How the ad platform is read

The **Ad platform** breakdown and filter name the advertising platform the traffic came from. They read the first word of the `utm_source` captured at checkout — its first run of letters, in any case — and, when the source names no platform, the first word of the `utm_medium`. A word names a platform when it is one of the platform's names, alone or followed by `ads`:

| Platform    | Names                                                                                              |
| ----------- | -------------------------------------------------------------------------------------------------- |
| `google`    | `google`, `adwords`, `youtube`                                                                     |
| `meta`      | `meta`, `facebook`, `fb`, `instagram`, `ig`, `messenger`, `msg`, `threads`, `th`, `an`, `whatsapp` |
| `tiktok`    | `tiktok`                                                                                           |
| `microsoft` | `microsoft`, `bing`, `msn`                                                                         |
| `snapchat`  | `snapchat`                                                                                         |
| `pinterest` | `pinterest`                                                                                        |
| `x`         | `x`, `twitter`                                                                                     |
| `linkedin`  | `linkedin`                                                                                         |
| `reddit`    | `reddit`                                                                                           |

So `Facebook_Ads`, `fbads` and `IG` all read as `meta`. A source or medium that names none of these reads as `other`; break down by **UTM source** to see which sources those are. A payment with neither captured is under **none**.
