# Report date windows

> How date range selection works across Ordinary reports, including timezones, comparisons, and plan lookback limits.

Source: https://help.tryordinary.com/reference/date-windows

---

Almost every page in Ordinary has a date range picker in the top-right.
It controls what time window the numbers and charts represent.


## Preset windows

| Preset | Meaning |
|---|---|
| Today | 00:00:00 today (your display timezone) to now |
| Yesterday | Full previous calendar day |
| Last 7 days | 7 complete days ending today (rolling) |
| Last 30 days | 30 complete days ending today (rolling) |
| Last 90 days | 90 complete days ending today (rolling) |
| Month to date | 1st of current month to now |
| Last month | 1st through last day of previous calendar month |
| Quarter to date | 1st of current quarter to now |
| Year to date | Jan 1 to now |
| Custom | Pick any start and end date |

"Today" and "Yesterday" use calendar boundaries in **your shop's
timezone**, not UTC and not your browser's local timezone.

## Timezone

Ordinary uses your **shop's IANA timezone** (pulled from Shopify
on install) for every date-range boundary. That means:

- The same numbers regardless of where the viewer is — a team
  member in Tokyo sees the same "today" revenue on the dashboard
  as the store owner in New York.
- "Today" matches your business day. A shop in `America/New_York`
  at 11pm ET still sees today's full orders; at 1am ET the next
  morning, "today" has rolled over.
- Numbers align with **Shopify's own Sales reports**, which also
  default to the shop timezone — makes cross-checks clean.

What this means practically:

- A report's "revenue for 2026-04-22" groups orders by their order
  time, using whether that time falls within April 22 in your shop's
  timezone.
- If your shop timezone is `America/Los_Angeles` (UTC-7), an order
  at 23:00 PT on April 22 shows up on April 22, even though it was
  2026-04-23 06:00 UTC.
- Conversely, an order at 02:00 UTC on April 23 (19:00 PT April
  22) groups into the PT April 22 bucket.

The shop timezone is read-only in Ordinary — change it in your
Shopify admin (**Settings → General → Store details → Timezone**)
and it refreshes in Ordinary on the next nightly sync (or
immediately on a reinstall).

## Comparisons

Most reports have a **Compare to** option (top-right toggle):

- **Previous period** — same length, immediately prior. "Last 7 days"
  compared to the 7 days before that.
- **Previous year** — same dates one year earlier. "Last 30 days"
  compared to April 22 – March 24 of the prior year.

Comparison numbers show as a delta next to the primary metric.

## How lookback caps your range

Your plan has a **lookback window**:

- **Free** — 30 days.
- **Starter** — 12 months.
- **Advanced** — 24 months.
- **Enterprise** — unlimited.

If you pick a start date beyond your lookback, the picker visually
caps it and shows a **Partial data** badge above the report. See
[Why do I see "partial data"?](https://help.tryordinary.com/troubleshooting/partial-data).

## Inclusive vs exclusive end dates

All date ranges in Ordinary are **inclusive** of both start and end
days. "Last 7 days" with today being April 22 means April 16
through April 22 — 7 full days.

This differs from some BI tools that use exclusive end dates.

## Live vs final data

For **today** and the current hour:

- Pixel events, orders, and most integrations update hourly or faster.
- Some "closed" metrics (Meta and Amazon final daily spend, GA4
  sessions) take a few hours to finalize; expect early-morning
  numbers to revise upward as the day progresses.

For **yesterday**:

- Finalized each morning (UTC), with the exact time depending on the
  integration.
- After that, yesterday's totals are stable.

See [Data refresh cadence](https://help.tryordinary.com/reference/refresh-cadence) for the full schedule.

## Saving custom ranges

Once you've picked a custom range, it's saved in the URL. You can
bookmark the URL or share it with a teammate — they'll load the same
report with the same date window.

## Related articles

- [Data refresh cadence](https://help.tryordinary.com/reference/refresh-cadence)
- [Why do I see "partial data"?](https://help.tryordinary.com/troubleshooting/partial-data)
- [Understanding your plan](https://help.tryordinary.com/billing/plans-overview)
