ahmedelsama
I turned a Mac Studio into an always-on AI development server
If everyone can code, what do engineers do? What does product do?
What Metrics Drive Growth?
Analyse User Activities with Narrator and Activity Schema
A guide to data-driven prioritization for Product Managers
Does that make sense? Smaller steps to make sure you only invest if it is worth it
Working in data, especially in a startup, we often need to make so many decisions and trying to change the culture is good but when it’s a fire then this approach would get us the furthest
I would love to know why warehouse do this because as a data person it confuses me and is even more confusing to explain to stakeholders.
This extends to support. I hate submitting a support ticket to just be told to go view the docs that I already viewed, or try things I have already done. As a customer, I want you to know I did that and to help me.
All this is trying to do is allow company to understand their customer within their own platform and own data.
This is not trying to fingerprint users or track everything they do on all websites like Facebook and other platforms.
I hope this clears up the motivation. In short, it is to resolve issues in using the data that a company has internally and is not about creeping on users across the internet.
So in the example you gave, the user who opens that links becomes tied to that cookie from the time they open the order to the next linked event. This is really critical because it will continue to stitch the users identity over time.
If link sharing is happening a lot, you can choose to not use that linkage foe identity resolution.
Does this help clarify the approach?
I am excited to chat in person.
Often, people think that just creating a time-series table is enough but it is so hard to use and so hard to maintain that you will hate yourself. Narrator solve all those problems so your experience become truly incredible!
In my last job, we spent months talking about "What is a Sale?" is it when someone signs a contract or when they pay or when they move in, etc...
Then you add your sale metric into a table and as that table is used in different places the sales numbers till don't match, people don't remember what a sale is and the conversation starts up again.
Why is Narrator different?
In Narrator, you don't define what a sale is, you break up your data into customer actions. So "Signed Contract", "Paid Invoice", "Moved In" and thus as people ask different questions we can alway clearly see what they are referring to.
Step 1 to alignment is guaranteeing consistency and transparency.
How do you deal with states? You are right that does make it really hard. We see customers leveraging the incremental aspect of the activity stream to diff the stream with the updated_at to pull out changes as the activity stream updates. (every 15 minutes so yes you will loose changes in between that time). This doesn't solve the problem but does take you much closer. And then when you do add proper timestamps then you can have historical data in the activity stream and cleaned data from you new tables merged. All the users using that activity are NOT affected.
Not perfect but allows us to have as accurate data as possible.
What about the market? Yes, I agree the market is a challenge since the world has been only using star schema. We hope that standardization, speed, reusability aspect of Narrator is so compelling that people slowly switch.
How do we get numbers to match? Consistency and Transparency. Every one who uses the "Completed Order" uses the same revenue. SO it is consistent! Then you can add the "Shipped Order" activity which has the shipping amount.
By having clear CONSISTENT definitions and clear activities you end up in a world where your numbers match. The only ways for numbers not to match is if some is being deliberate about getting the data not to match which thanks to dataset, is always transparent.
Definitions are a social problem but technology, limitations and consistency can help a lot.