Period-over-period analysis is one of the most common ways to evaluate how metrics change over time. Whether you’re looking at month-over-month growth, year-over-year comparisons, or week-over-week performance, Lightdash makes it easy to build these analyses directly in your dashboards. This guide walks through several examples of how to do period-over-period analysis in Lightdash. You can also watch the video walkthrough if you’d prefer a visual demo.

Big Value Charts: Simple Comparisons

The fastest way to get started is with the Big Value chart type.

Month-over-month

  • Pull two months of data.
  • Use the Big Value chart and select Compare to previous row
  • Lightdash automatically shows the comparison.
That’s it!

Same month, previous Year

  • Pull ~13 months of data with MONTH and MONTH_NUM time dimensions and your metric.
  • Create a table calculation to filter only the current month and the same month last year:
(extract(month from current_date) - 1) = ${tracks.timestamp_month_num}
This table calculation relies on the MONTH_NUM time interval.
  • Filter where the value of this table calculation is true.
  • Then use the Big Value chart with Compare to previous row

Trend line comparisons

Sometimes you need more than a single value—you want to see how trends evolve.

By week of year

  • Add week of year time dimension (1-52) on the X-axis.
  • Plot the metric (e.g. event_count).
  • Group by year.
  • This allows you to compare trends across years.
Check minute 1:45 in the Loom video for an example.

By day of month with running totals

  • Compare June vs July (or any two months).
  • Use day of month time dimension (1-31) on the X-axis, grouped by month.
  • Add a running total table calculation.
  • Optionally, use bars in the background to show cumulative progress.
Check minute 2:30 in the Loom video for an example.

Compare arbitrary weeks

You can also compare arbitrary weeks side by side.
  • Select specific weeks (e.g. 2, 8, 12).
  • Use week of year as the grouping dimension.
  • Apply a running total to see how each week accumulates.
  • This shows how different weeks trend across the same range.
Check minute 3:00 in the Loom video for an example.

Year-over-year by month

For a full year-over-year comparison across months:
  1. Pull two years worth of monthly of data.
  2. Use the lag() function in a table calculation to find the value from the same month last year:
lag(${event_count}, 12)
  1. Create a percent change calculation:
(${event_count} - ${previous_year_value}) / ${previous_year_value}
  1. Filter out rows where previous_year_value is null.
Check minute 3:45 in the Loom video for an example.