Real User Performance Metrics at Stitch Fix
⚡️⏲⚡️
Real User Metrics (RUM)🍹
Real User Metrics (RUM)🍹
Metrics read from a client's machine.
Not inferred; measurements of the
actual client experience.
Lab Metrics 👩🏻🔬
Lab Metrics👩🏻🔬
Metrics recorded in a controlled system (the "lab").
Estimated but repeatable results.
Why are performance metrics important?
🙂
🙂 💰
🙂
Our Tools: the Reporter and the Service
The Reporter 📰
A client side tool that that reads and posts
browser-provided performance data.
Platform metrics
Metrics that matter to all client facing apps.
Platform metrics
Metrics that matter to all client facing apps.
Navigation timings
Time to first byte
Time to interactive
Time to first paint
Application metrics
Metrics specific to a particular app's code and goals.
Application metrics
Metrics specific to a particular app's code and goals.
Application execution time
Function execution time
Resources and aggregate resource timings
Perceived Perf RUM
Hero fonts loaded
Hero images loaded
React app hydration
Perceived Perf RUM
Hero fonts loaded
Hero images loaded
React app hydration
Async data fetching
Time from user interaction to update
Perceived Perf RUM
Measurements of real user experience.
The Service 🔧
A standalone back-end service that filters, tags,
and publishes performance data.
Filter
Browsers are weird!
Remove invalid and outlier data.
Filter
Filter
Data must be actionable.
Tag
What metadata do we have?
Tag
What metadata do we have?
Effective network type
Tag
What metadata do we have?
Effective network type
Route
Region
Browser and Device groupings
So what do we get?
Title Text
How has this data affected our work?
Validating investments
Validating investments
Identifying Regressions
Validating investments
Identifying Regressions
Setting baselines and exposing
areas for improvement
Validating investments
Identifying Regressions
Setting baselines and exposing
areas for improvement
Putting performance investment on the product roadmap
Stitch Fix is a data driven company.
Stitch Fix is a data driven company.
All decisions must contain at least one component of cold hard data.
Stitch Fix is a data driven company.
All decisions must contain at least one component of cold hard data.
Our team knew that improved performance would be a key driver towards our KPI goal.
Stitch Fix is a data driven company.
All decisions must contain at least one component of cold hard data.
Our team knew that improved performance would be a key driver towards our KPI goal.
By recording a baseline we were able to get the first "Performance Investment Sprints" on our roadmap
Stitch Fix is a data driven company.
All decisions must contain at least one component of cold hard data.
Our team knew that improved performance would be a key driver towards our KPI goal.
By recording a baseline we were able to get the first "Performance Investment Sprints" on our roadmap, and ensure we'll have more in the future.
This the reporter is already part of many client facing apps in our org, but this quarter leadership set a goal of universal adoption.
THANKS!
🗣
deck
By Rob Wierzbowski
deck
- 1,149