Issues with Data idempotency

Hi there

I user snowflake and metabase and built a dashboard to try to measure the changes in a time period for some chosen metrics by a group of users. The group of users can be defined / changed via putting in their IDs.

I am facing issues where I get different results from time to time. Same metrics, but different results. Eg: count of users who hit milestone 1 in funnel, milestone 2 in funnel. One day it will be 10, the next day 9.

The issue is exacerbated when i calculate the difference between before / after the time period. As the data changes, one day the difference is 10, the next it is 11, etc.

Any idea why this is happening? Is this a snowflake caching issue, etc?

Check if this is coming from the source data. If your query data changes then it’s a problem outside of Metabase.

Do you have query caching enabled?

This is typically not a problem with Snowflake caching. If the numbers vary every day, something in the data or time logic is changing.

frequent reasons:

info that comes in late or backfills

utilizing current_date, now(), or rolling time windows

joins that aren't stable as additional rows come in

combining event timing and time of intake

Do a fast check by running the same query directly in Snowflake a few times. It's not Metabase if it changes there as well.

Always use fixed timestamps instead of relative dates for before and after comparisons. Snowflake is deterministic, which means that numbers that drift also imply that data that drifts.