> ## Documentation Index
> Fetch the complete documentation index at: https://nectarclimate.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Data completeness

> Visualize coverage gaps and track data completeness across sites, accounts, and meters.

<Tip>Need help in this area? See [Data Quality FAQ](/docs/platform/data-quality/faq).</Tip>

Open **Data Quality** in the sidebar, then under **Completeness** choose **By Site**, **By Account**, or **By Meter** (admin only) to see where coverage is strong and where gaps exist.

## Getting started

When you first visit the completeness page, you'll see a prompt to select a **reporting period** — the time range you want to analyze. Choose from quick presets like:

* **Last 12 Months** — the most recent twelve calendar months
* **Current year** — January through December of the current year
* **Past 2 years** — the current and previous calendar year

You can also use the **Period** filter in the toolbar to set a custom month range. Once a period is selected, the coverage view loads with your data.

## Timeline and table views

Use the **view** control in the toolbar to switch between:

| View         | What you see                                                                                                                                                    |
| ------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Timeline** | A scrollable **swim lane** for each entity: one row per entity, one column per month in the reporting period. Best for scanning many sites or accounts at once. |
| **Table**    | A tabular list of gaps with sortable columns. Best when you want to work from a filtered list.                                                                  |

## Coverage timeline

In **Timeline** view, each row represents an entity (site–utility pair, account, or meter, depending on the page you chose) and each column represents a billing period. Each cell shows the data status for that entity and period at a glance.

### Cell statuses

On **By Site**, each cell reflects collected data, persisted usage fills, or a gap. **By Account** and **By Meter** score collected data only — they do not show estimated fills.

| Status        | Symbol | Meaning                                                                                                                                                               |
| ------------- | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Actual**    | ✓      | Collected [bill](/docs/platform/glossary#bill) or usage data meets the coverage threshold for this period.                                                                 |
| **Estimated** | \~     | The period meets the threshold only after [Nectar-filled usage](/docs/platform/glossary#estimated-data) is included. **By Site** only. Click to review estimation details. |
| **Missing**   | ✕      | Expected data has not been collected (or, in Actual-only mode on **By Site**, fill-dependent periods are shown as missing). Click to see details and take action.     |
| **Future**    | ·      | This period has not yet occurred; no data is expected. Shown with a dashed border.                                                                                    |

The **[coverage](/docs/platform/glossary#completeness) percentage** at the end of each row is the share of required months that are **Actual** or **Estimated** (combined mode). **Future** months are excluded from the calculation. On **By Site**, use **Coverage basis** (below) to view collected data only.

<Note>
  A month can count as **Actual** when a bill was received even if that bill has an unresolved [data
  quality issue](/docs/platform/data-quality/issues#when-is-data-excluded). The same bill may still be
  **withheld from analytics**, so a period can look covered here yet excluded from your usage and
  cost charts. A banner on the completeness page flags when this is happening and links to the
  issues to resolve.
</Note>

<Note>
  **Estimated** on **By Site** is not the same as a utility-estimated reading on a bill. Estimated
  cells mean Nectar applied persisted site-level usage fills from your estimation rules so the month
  reaches the coverage threshold. Open the cell to see day counts, method, and filled usage.
</Note>

<Note>
  **Fuel and waste** use a spot-delivery model. A month is **Actual** if at least one delivery
  exists, and **Missing** only when the month has zero deliveries. Other commodities (electricity,
  gas, water) use a day-coverage threshold.
</Note>

### Coverage basis (By Site)

When usage estimation is enabled for your company, **By Site** adds a pinned **Coverage basis** filter:

| Value                            | What you see                                                                                                       |
| -------------------------------- | ------------------------------------------------------------------------------------------------------------------ |
| **Actual + estimated** (default) | Blue **Estimated** cells count toward coverage; the headline percentage includes both Actual and Estimated months. |
| **Actual only**                  | The same fill-dependent months appear as **Missing**; coverage reflects collected source data only.                |

The filter does not change your estimation rules or fills — it is a reporting lens. **By Account** and **By Meter** do not offer this control.

**Coverage basis** is not the same as **[Usage basis](/docs/platform/glossary#usage-basis)** on analytics. Coverage basis controls whether fill-dependent months appear as **Estimated** or **Missing** in this timeline. Usage basis controls whether fills add to usage totals on eligible charts. See [Usage estimation](/docs/platform/data-quality/usage-estimation).

Completeness classifies each day with **actual-first** rules: collected usage always wins the day, even when a persisted fill also spans it. A month can therefore show **Actual** while analytics still includes additive fill contribution until the next estimation refresh — or show **Estimated** in combined mode while **Estimation details** lists both actual and fill-covered days. Overlap between collected usage and fills before refresh is expected; warnings in **Estimation details** or analytics prompt a rerun in site settings rather than deduplicating totals at read time.

### Summary statistics

An inline legend in the table header shows counts for **Actual**, **Estimated**, **Missing**, **Not required**, and **Future**, plus the portfolio **Coverage** percentage. Hover any label for a short definition and a link to the [glossary](/docs/platform/glossary#completeness). When a severity or site filter is active, the statistics update to reflect only the filtered entities.

## Choosing site, account, or meter scope

Open the **Data Quality** section in the sidebar and pick a completeness view:

| Page           | Rows represent     | What you see                                                                                                 |
| -------------- | ------------------ | ------------------------------------------------------------------------------------------------------------ |
| **By Site**    | Site–utility pairs | Swim lanes grouped by site.                                                                                  |
| **By Account** | Billing accounts   | Swim lanes grouped by connection.                                                                            |
| **By Meter**   | Individual meters  | Swim lanes grouped by account within connection. **Admin only** — other users are redirected to **By Site**. |

The toolbar filters **period**, **severity**, **sites**, and optional filters (for example utility type, tags, or connection) apply to whichever page you are on. Use **Sort** in the toolbar to order lanes by name or coverage.

## Gap detail sheet

Click any cell in the timeline to open the **gap detail sheet** — a side panel with full context about that entity and period.

When you drill from a **site** row into a specific **account** gap, a second panel can open on top so you keep the site context while you review the account.

### Status banner

At the top, a status banner explains what's happening:

* **Missing Data** (red) — No bills or usage records found for this period.
* **Flagged** (yellow) — Data exists but has been [flagged](/docs/platform/glossary#flagged-bill) for review.
* **Actual** (green) — Collected data meets the coverage threshold with no detected issues.
* **Estimated** (blue, **By Site** only) — The month meets threshold with Nectar usage fills; see **Estimation details** below.

### Diagnosis and estimation details

For **By Site** **Estimated** cells, the gap detail sheet adds context above the investigation tabs:

* **Diagnosis** explains that the period is covered by Nectar usage estimation (not a utility-estimated bill reading) and directs you to the estimation details below.
* **Estimation details** shows how the month reached threshold: actual, estimated, and uncovered day counts; estimated usage; the method used; when fills were last refreshed; and separate rows when multiple fill spans overlap the month.

Everyone who can view the site can read these details. Company admins with usage estimation enabled also see **Configure rules**, which opens [**Settings > Company > Sites**](https://dash.nectarclimate.com/settings/company/sites/list) → select the site → **Estimation rules** in a new tab. Estimation runs and rule edits happen in settings — there is no run action on the completeness page.

### Entity statistics

Five stat cards show coverage metrics for the entire entity (not just the selected month):

* **Coverage** — percentage of required months with Actual or Estimated data (combined mode on **By Site**)
* **Actual** — months with collected data
* **Estimated** — months covered only by Nectar usage fills (**By Site**; zero on account/meter views)
* **Gaps** — months missing data
* **Required** — total months in the reporting period (excluding future)

### Timeline strip

A compact horizontal strip shows all months for this entity in the reporting period, with the currently selected month highlighted. Click any month to navigate to it without closing the sheet.

### Detail tabs

Below the statistics, tabs provide deeper analysis:

* **Bills** — Bills contributing to the selected month, plus the months immediately before and after for context. Collapsible adjacent month sections let you compare without clutter.
* **Inspect** — Opens the [Aggregation Inspector](/docs/platform/sites/overview#aggregation-inspector) scoped to this entity and month. Shows how the site-level monthly usage is composed from individual meter contributions, including excluded meters. Available when the gap has a site context.
* **Accounts** — (Site view only) Accounts associated with this entity and their data status.
* **Meters** — A table of all meters for this entity, showing whether each has data for the selected month, its last bill date, and calendarized usage.
* **Usage** — A bar chart showing monthly usage over the reporting period. Gap months are highlighted in red; the currently selected month has a bold border.
* **Excluded** — Usage rows omitted from completeness totals, tagged with reasons such as untracked meter, duplicate meter, or superseded usage.
* **All Gaps** — Every gap for this entity, listed chronologically. Click **View** on any gap to navigate to it. Resolution actions appear below the gap list.

### Resolution actions

From the gap detail sheet you can:

* **Upload bill** — Opens the upload page in a new tab to add a missing document.
* **Enter manually** — Opens the manual entry form in a new tab to record data by hand.
* **View in Data Inventory** — Jump to the Bills table to investigate existing data.

For a step-by-step diagnosis order (connection health first, then duplicates, then timeline), see [Filling data gaps](/docs/platform/data-quality/filling-data-gaps).

## Filtering and sorting

The toolbar provides several controls to focus on what matters:

| Control            | Type          | Description                                                                                     |
| ------------------ | ------------- | ----------------------------------------------------------------------------------------------- |
| **Period**         | Month range   | Select the reporting period. Required — the page shows a prompt if not set.                     |
| **Coverage basis** | Single-select | **By Site** only (when usage estimation is enabled): **Actual + estimated** or **Actual only**. |
| **Coverage**       | Multi-select  | Filter by severity tier: Critical (0–50%), Low (50–75%), Fair (75–95%), Good (95–100%).         |
| **Site**           | Multi-select  | Narrow the view to specific sites.                                                              |
| **Sort**           | Dropdown      | Order by name (A→Z, Z→A) or coverage percentage (lowest first, highest first).                  |

Additional filters (e.g. **Utility type**, **Site tags**, **Connection**, **Identifier**) are available from **+ Add Filter** when you need to narrow the swim lanes further.

Filters are preserved in the URL, so you can bookmark or share a specific view with your team.

**See also:** [Usage estimation](/docs/platform/data-quality/usage-estimation), [Glossary — Completeness](/docs/platform/glossary#completeness), [Glossary — Coverage basis](/docs/platform/glossary#coverage-basis), [Glossary — Estimated data](/docs/platform/glossary#estimated-data), [Glossary — Missing data](/docs/platform/glossary#missing-data), [Glossary — Data quality](/docs/platform/glossary#data-quality)

## Frequently asked questions

<AccordionGroup>
  <Accordion title="Why do I need to pick a reporting period first?">
    Completeness is calculated over a specific month range. Until you choose a period (preset or
    custom), the view cannot determine which months should be complete. Use the toolbar **Period**
    control or the initial prompt to set it.
  </Accordion>

  <Accordion title="What is the difference between Timeline and Table view?">
    **Timeline** shows swim lanes—one row per entity and one column per month—best for scanning many
    sites or accounts. **Table** lists gaps with sortable columns when you want to work from a
    filtered list. Both respect the same filters.
  </Accordion>

  <Accordion title="Why does a cell show a dot instead of a check or X?">
    A **Future** month (not yet reached in the reporting period) shows a dot with a dashed border. No
    data is expected yet, and those months are excluded from the
    [coverage](/docs/platform/glossary#completeness) percentage.
  </Accordion>

  <Accordion title="What does the coverage percentage on each row mean?">
    It is the share of **required** months that are **Actual** or **Estimated** (combined mode on **By
    Site**). **Future** months do not count toward the denominator. On **By Site**, switch **Coverage
    basis** to **Actual only** to score collected data only. Hover the header legend for a short
    definition or open the [glossary](/docs/platform/glossary#completeness).
  </Accordion>

  <Accordion title="Why can I not open the By Meter completeness view?">
    **Data Quality > Completeness > By Meter** is limited to users with the appropriate access. Other
    users are redirected to **By Site**. If you believe you need the meter-level view, ask your
    organization admin to confirm your role.
  </Accordion>

  <Accordion title="What happens when I open a gap and another sheet appears on top?">
    Drilling from a **site** row into an **account** can stack a second panel so you keep site context
    while reviewing the account. Close the top panel first, or navigate away, to return to the main
    lane.
  </Accordion>

  <Accordion title="What is the **Inspect** tab in the gap detail sheet?">
    When the gap has site context, **Inspect** opens the [Aggregation
    Inspector](/docs/platform/sites/overview#aggregation-inspector) for that entity and month. It shows how
    site-level usage is composed from meters, including excluded meters—useful when a total looks
    unexpected.
  </Accordion>

  <Accordion title="Do filters persist if I share a link?">
    Yes. Toolbar filters are reflected in the URL, so you can bookmark or share a specific period,
    severity tier, sites, and add-on filters with your team.
  </Accordion>

  <Accordion title="What do the severity tiers (Critical, Low, Fair, Good) mean?">
    They group entities by [coverage](/docs/platform/glossary#completeness) percentage so you can focus on
    the weakest portfolios first. Exact thresholds are shown in the **Coverage** filter labels.
  </Accordion>

  <Accordion title="What does Estimated mean on By Site?">
    An **Estimated** month meets the [coverage](/docs/platform/glossary#completeness) threshold because
    Nectar included persisted site-level usage fills from your estimation rules — not because a bill
    marked the period complete. Click the cell and read **Estimation details** for day counts, method,
    and usage. See [Estimated data](/docs/platform/glossary#estimated-data) in the glossary.
  </Accordion>

  <Accordion title="What is Coverage basis?">
    On **By Site**, when usage estimation is enabled, **Coverage basis** switches between **Actual +
    estimated** (default — headline coverage includes Estimated months) and **Actual only**
    (fill-dependent months show as **Missing**). It is a reporting view only; it does not delete fills
    or change rules. **By Account** and **By Meter** always reflect collected data only.
  </Accordion>

  <Accordion title="Who can configure estimation rules?">
    Any user who can view a site can open **Estimation details** on an Estimated cell. **Configure
    rules** appears only for company admins when usage estimation is enabled for your company; it
    opens [**Settings > Company > Sites**](https://dash.nectarclimate.com/settings/company/sites/list)
    → the site → **Estimation rules**. Runs and edits happen there, not on the completeness page.
    See [Usage estimation rules](/docs/platform/settings/usage-estimation-rules).
  </Accordion>

  <Accordion title="Why might I see a stale overlap warning?">
    When new bills arrive after the last estimation run, persisted fills may temporarily overlap the
    same days as collected usage. Completeness still counts those days as actual-first; analytics
    combined totals remain additive until refresh. The warning is a prompt to **Run site estimations**
    in site settings — not proof that your source data is wrong. See
    [Usage estimation](/docs/platform/data-quality/usage-estimation#stale-overlap-warning).
  </Accordion>

  <Accordion title="Why does my fuel or waste account show complete with only one delivery in a month?">
    Fuel and waste are **spot-delivery** commodities — they are delivered on specific days rather than
    consumed continuously like electricity or gas. Nectar uses a different completeness rule for these
    commodities: a month is marked **Actual** as long as at least one delivery record exists. A month
    with zero deliveries is marked **Missing**. This avoids false gaps for months where a single
    pickup or delivery is the expected pattern.
  </Accordion>

  <Accordion title="Where should I go for more troubleshooting?">
    See [Data Quality FAQ](/docs/platform/data-quality/faq) for issues vs. gaps, and [Data Input FAQ](/docs/platform/data-input/faq)
    if the root cause is collection. Email [support@nectarclimate.com](mailto:support@nectarclimate.com)
    if a gap persists after connections are healthy and bills exist for the period.
  </Accordion>
</AccordionGroup>
