Good points and please don't feel sad! :)
MATCH_RECOGNIZE is definitely a great step in the right direction. Unfortunately, it is not implemented in many commonly used analytics DBs yet and the Snowflake implementation is pretty slow: 10x slower than using regexes directly in SQL, which itself is limited in flexibility. I really hope that more effort is put into MATCH_RECOGNIZE and it takes off.
Agree that the specific example of the retention computation is not cleaned up enough - I used SQL I quickly found online. Any "sequential" queries still have to include window functions and CTEs, which would lead to pretty long queries, which take a while to write and maintain. That was the main point of the example.