Onboarding

Backfill

This is the step people miss, so here is the why up front: charts in Asemic read a precomputed entity table: one row per user per day, built in your warehouse. Publishing defines what to compute; backfilling computes it for a date range. Until a day is backfilled, charts show a gap for that day. A published model with no backfill is a perfectly correct model with nothing to show.

Where

Open the ⋮ menu → “Materialization coverage…”. The dialog shows a per-day heatmap (full, partial, or none) so you can see exactly which days exist.

Select a range and use the backfill buttons:

  • “Backfill latest”: the most recent unmaterialized days
  • “Backfill selected”: exactly the range you selected
  • “Backfill incomplete”: days that are partial
  • “Backfill whole period”: everything in view

Progress survives closing the dialog: the header shows a chip with “backfilling X/Y” and an estimated time remaining.

The in-product nudge

Whenever any of the last 7 days isn’t materialized, a card appears on the Data Model page: “Backfill N recent days”“Review & backfill…”. Today is excluded: it is still being written, so it materializes on the next day’s run.

How much to backfill

Start with the range your dashboards actually need: recent weeks for activity metrics, further back if you want retention and LTV curves for older cohorts. You can always extend the range later; coverage is per-day, so backfills are incremental, not all-or-nothing.

The payoff

When your first backfill completes, open a dashboard: your metrics are charting real data from your own warehouse. Onboarding is done. To understand what got built along the way, read The data model and Materialization.