# Analytics

The ODUS Dashboard home page shows a real-time summary of your payment activity. It combines a key metrics strip, a customizable grid of revenue and insight widgets, and a monthly rebills calendar. The metrics and widgets are driven by shared date range, granularity, and timezone controls, and you choose which widgets to show, how they are arranged, and how each chart is drawn.

## Prerequisites

* You have access to the ODUS Dashboard.
* Your account timezone is configured. The charts use the timezone set in **Settings > Merchant Configuration**. See [Merchant Configuration](https://docs.odus.com/docs/guides/dashboard/merchant-configuration.md) for how to change it.

## Step 1: Set the date range and timezone

At the top of the page, open the date range selector. You can choose a preset range or enter custom start and end dates.

**Preset ranges available:**

| Preset          | Description                              |
| --------------- | ---------------------------------------- |
| Today           | Current calendar day                     |
| Yesterday       | Previous calendar day                    |
| Last 7 days     | The 7 days ending yesterday              |
| Last 4 weeks    | The 4 full weeks ending last week        |
| Last 6 months   | The 6 full months ending last month      |
| Last 12 months  | The 12 full months ending last month     |
| Month to date   | Start of the current month until today   |
| Quarter to date | Start of the current quarter until today |
| Year to date    | Start of the current year until today    |

Inside the date range selector you can also switch the **timezone** between:

* **Your merchant timezone** — shown as its UTC offset (for example `-07:00`), configured in Merchant Configuration
* **UTC** — Coordinated Universal Time

All chart labels and totals reflect the selected timezone.

## Step 2: Choose a granularity

Next to the date range selector, choose how to group the chart data. Available options are:

| Granularity | Available when                             |
| ----------- | ------------------------------------------ |
| Hour        | Date range is a single day (only option)   |
| Day         | Date range is up to 3 months               |
| Week        | Date range is between 2 weeks and 1 year   |
| Month       | Date range is between 2 months and 2 years |
| Quarter     | Date range is at least 6 months            |
| Year        | Date range is at least 1 year              |

Options that do not apply to the selected date range are disabled. The granularity affects only the revenue charts — the insight widgets (Product Sales, Billing Summary, Top Gateway Accounts) always show totals for the full period.

tip

When the selected date range is a single day, the **Hour** granularity is selected automatically and the charts render 24 hourly buckets (`00:00`–`23:00`) so they stay informative.

## Step 3: Read the key metrics

Below the controls, a strip of four cards summarizes the selected period:

* **Net Revenue** — revenue after refunds and chargebacks
* **First Charge** — revenue from initial customer payments
* **Recurring** — revenue from subscription rebills
* **Refunds** — total amount refunded

Each card also shows how the value changed compared to the previous period of the same length. The revenue charts include the same comparison as a **Previous period** series — a dashed line on area charts, and a lighter bar series on bar charts.

## Step 4: Read the widgets

Below the key metrics, the dashboard shows a grid of widgets. By default it contains **Gross First Charge Revenue**, **Gross Recurring Revenue**, **Product Sales**, **Billing Summary**, and **Top Gateway Accounts**. You can add more widgets or remove any of them — see [Step 5](#step-5-customize-the-widget-grid).

### Revenue charts

Revenue charts plot an amount over time, using the selected date range, granularity, and timezone. The large number at the top of each chart is the total across the entire date range.

**Gross revenue** charts count revenue before refunds and chargebacks:

| Widget                     | What it shows                              |
| -------------------------- | ------------------------------------------ |
| Total Gross Revenue        | All revenue before refunds and chargebacks |
| Gross First Charge Revenue | Revenue from initial customer payments     |
| Gross Recurring Revenue    | Revenue from subscription rebills          |

**Net revenue** charts subtract refunds and chargebacks:

| Widget                   | What it shows                                      |
| ------------------------ | -------------------------------------------------- |
| Total Net Revenue        | All revenue minus refunds and chargebacks          |
| Net First Charge Revenue | First charge revenue minus refunds and chargebacks |
| Net Recurring Revenue    | Recurring revenue minus refunds and chargebacks    |

**Revenue deductions** charts track amounts you lose:

| Widget      | What it shows                  |
| ----------- | ------------------------------ |
| Refunds     | Total refund amounts over time |
| Chargebacks | Chargeback volume over time    |

### Insight widgets

Insight widgets show totals for the full selected period. They are not affected by the granularity setting.

| Widget               | What it shows                                                                                                                            |
| -------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| Product Sales        | Your products ranked by the number of successful first charges                                                                           |
| Billing Summary      | A breakdown of the period totals: first charge revenue, recurring revenue, refunds, chargebacks, and the resulting gross and net revenue |
| Top Gateway Accounts | Your gateway accounts ranked by gross revenue                                                                                            |

tip

Rows in the Billing Summary and Top Gateway Accounts widgets are clickable. Clicking a row opens a pre-filtered payment list, so you can inspect the payments behind each number.

note

The Product Sales widget counts only successful first charges. Recurring revenue per product is not shown here.

## Step 5: Customize the widget grid

The widget grid is fully customizable:

1. **Add widgets.** Click **Add** in the toolbar. A dialog lists all available widgets, grouped into revenue charts (gross revenue, net revenue, revenue deductions) and insights. Select one or more widgets and click **Add**. Widgets that are already on the dashboard are greyed out.
2. **Rearrange or remove widgets.** Click **Edit** in the toolbar (adding a widget also opens this mode). Drag a widget to reorder it, or click the **×** in its corner to remove it.
3. **Save or discard.** Click **Done** to save the new layout, or **Cancel** to discard your changes.

You can also adjust how the grid is drawn at any time, without entering edit mode:

* **Switch a chart's visualization.** Hover over a revenue chart and use the switcher in its top-right corner to toggle between an **area** chart and a **bar** chart.
* **Change the column count.** Use the grid toggle in the toolbar to show widgets in 2 or 3 columns (available on desktop screens).

warning

The dashboard layout is saved in your browser, not on your account. It does not follow you to other browsers or devices, and clearing your browser data resets the dashboard to its default layout.

## Step 6: Read the Rebills Calendar

Below the widgets, the **Rebills Calendar** shows a monthly view of your recurring payment activity.

Navigate between months using the arrow controls at the top of the calendar. Each day cell can show up to five event types:

| Badge         | Colour | Meaning                                                     |
| ------------- | ------ | ----------------------------------------------------------- |
| Rebills       | Purple | Upcoming subscription renewals due on this day              |
| Retries       | Blue   | Upcoming automatic retries for previously failed payments   |
| Successes     | Green  | Recurring payments that succeeded on this day               |
| Soft Declines | Amber  | Recurring payments declined with a soft decline on this day |
| Hard Declines | Red    | Recurring payments declined with a hard decline on this day |

tip

Click any badge to open a pre-filtered list of the relevant payments or subscriptions. This lets you investigate a specific day without manually applying filters.

A **Rebills** count on a future date tells you how many subscriptions will attempt to renew that day. A **Retries** count tells you how many failed payments are queued for retry.

note

The calendar always shows exactly one month. Unlike the revenue charts, it is not affected by the date range selector at the top of the page.

## API reference

The Dashboard uses two API endpoints. You can query them directly if you need to build your own reports or integrations.

### Key metrics and widgets

```
GET /v2/reports/payment-summary
```

Powers the key metrics strip and all widgets. Accepts `groupBy`, `measures`, date filters, and a `granularity` parameter. The Dashboard requests it with different groupings:

| Widgets                                            | `groupBy`        | `measures`                                                                                                                                                                                                |
| -------------------------------------------------- | ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Key metrics strip, revenue charts, Billing Summary | `createdAt`      | `fcRevenue`, `recurringRevenue`, `refundAmount`, `chargebackAmount`, `fcRefundAmount`, `fcChargebackAmount`, `recurringRefundAmount`, `recurringChargebackAmount`, `totalGrossRevenue`, `totalNetRevenue` |
| Product Sales                                      | `product.name`   | `fcSuccessfulCount`                                                                                                                                                                                       |
| Top Gateway Accounts                               | `gatewayProfile` | `totalGrossRevenue`                                                                                                                                                                                       |

See [`GET /v2/reports/payment-summary`](https://docs.odus.com/docs/api/core/v2/reporting-controller-get-payment-summary-report) for the full parameter reference.

### Rebills Calendar

```
GET /v2/statistics/calendar
```

Returns per-day counts for upcoming recurring payments, upcoming retries, successful rebills, soft declines, and hard declines. Requires a `startDate` query parameter and accepts an optional `endDate`.

See [`GET /v2/statistics/calendar`](https://docs.odus.com/docs/api/core/v2/statistics-controller-get-calendar-data) for the response schema.
