- Tags:: [[Data analysis|Data analysis]] From https://twitter.com/teej_m/status/1494481801250705410?s=20&t=c9fjgY_Owq_6yVdkkvHq6A:. So it probably not a good idea to have crude data on BQ and build up all the analysis in there. >With a site or app, all we can do is follow the trail of breadcrumbs that users leave behind. Funnels, cohorts, A/B tests, attribution. These are all flavors of sequence analysis - stitching together events to tell the story of WHY. But it sucks to do this with SQL alone. Bad. But can be done. From [[When not to use sql|When Not To Use Sql]]: ![[Pasted image 20230515192140.png|400]] A related repo: [sf-funnels](https://github.com/teej/sf-funnels). The easiest strategy to build a funnel is with self joins, though the performance can be poor. ![[Pasted image 20240319085458.png|400]] [[snowflake|Snowflake]] has made this easier with MATCH_RECOGNIZE: [Funnel Analytics in Snowflake](https://towardsdatascience.com/funnel-analytics-with-sql-match-recognize-on-snowflake-8bd576d9b7b1).