SlideShare a Scribd company logo
1 of 67
Download to read offline
• Philip Tellis

•                           .com
• philip@lognormal.com
• @bluesmoon
• geek paranoid speedfreak
• http://bluesmoon.info/




    Boston #WebPerf Meetup / 2012-08-14   The Statistics of Web Performance Analysis   1
I’m a Web Speedfreak




Boston #WebPerf Meetup / 2012-08-14   The Statistics of Web Performance Analysis   2
We measure real user website performance




Boston #WebPerf Meetup / 2012-08-14   The Statistics of Web Performance Analysis   3
This talk is about the Statistics we learned while building it




  Boston #WebPerf Meetup / 2012-08-14   The Statistics of Web Performance Analysis   4
The Statistics of Web Performance Analysis

            Philip Tellis / philip@lognormal.com


             Boston #WebPerf Meetup / 2012-08-14




 Boston #WebPerf Meetup / 2012-08-14   The Statistics of Web Performance Analysis   5
0
                             Numbers



Boston #WebPerf Meetup / 2012-08-14   The Statistics of Web Performance Analysis   6
Accurately measure page performance∗




Boston #WebPerf Meetup / 2012-08-14   The Statistics of Web Performance Analysis   7
Be unintrusive




     If you try to measure something accurately, you will change
                          something related
                                                                       – Heisenberg’s uncertainty principle




       Boston #WebPerf Meetup / 2012-08-14   The Statistics of Web Performance Analysis                       8
And one number to rule them all




Boston #WebPerf Meetup / 2012-08-14   The Statistics of Web Performance Analysis   9
What do we measure?




    • Network Throughput
    • Network Latency
    • User perceived page load time




      Boston #WebPerf Meetup / 2012-08-14   The Statistics of Web Performance Analysis   10
We measure real user data




Boston #WebPerf Meetup / 2012-08-14   The Statistics of Web Performance Analysis   11
Which is noisy




Boston #WebPerf Meetup / 2012-08-14   The Statistics of Web Performance Analysis   12
1
                        Statistics - 1



Boston #WebPerf Meetup / 2012-08-14   The Statistics of Web Performance Analysis   13
Disclaimer




   I am not a statistician




      Boston #WebPerf Meetup / 2012-08-14   The Statistics of Web Performance Analysis   14
1-1  Random Sampling



Boston #WebPerf Meetup / 2012-08-14   The Statistics of Web Performance Analysis   15
Population



                        All possible users of your system




       Boston #WebPerf Meetup / 2012-08-14   The Statistics of Web Performance Analysis   16
Sample



                    Representative subset of the population




         Boston #WebPerf Meetup / 2012-08-14   The Statistics of Web Performance Analysis   17
Bad sample



                                   Sometimes it’s not




      Boston #WebPerf Meetup / 2012-08-14   The Statistics of Web Performance Analysis   18
How to randomize?




                                                                                   http://xkcd.com/221/




      Boston #WebPerf Meetup / 2012-08-14   The Statistics of Web Performance Analysis                    19
How to randomize?




      • Pick 10% of users at random and always test them

                                               OR

      • For each user, decide at random if they should be tested

   http://tech.bluesmoon.info/2010/01/statistics-of-performance-measurement.html




         Boston #WebPerf Meetup / 2012-08-14   The Statistics of Web Performance Analysis   20
Select 10% of users - I




       if($sessionid % 10 === 0) {
          // instrument code for measurement
       }

     • Once a user enters the measurement bucket, they stay
       there until they log out
     • Fixed set of users, so tests may be more consistent
     • Error in the sample results in positive feedback




       Boston #WebPerf Meetup / 2012-08-14   The Statistics of Web Performance Analysis   21
Select 10% of users - II




       if(rand() < 0.1 * getrandmax()) {
          // instrument code for measurement
       }

     • For every request, a user has a 10% chance of being
       tested
     • Gets rid of positive feedback errors, but sample size !=
       10% of population




       Boston #WebPerf Meetup / 2012-08-14   The Statistics of Web Performance Analysis   22
How big a sample is representative?




                                     Select n such that
                                     σ
                                1.96 √n ≤ 5%µ




       Boston #WebPerf Meetup / 2012-08-14   The Statistics of Web Performance Analysis   23
1-2     Margin of Error



Boston #WebPerf Meetup / 2012-08-14   The Statistics of Web Performance Analysis   24
Standard Deviation

     • Standard deviation tells you the spread of the curve
     • The narrower the curve, the more confident you can be




       Boston #WebPerf Meetup / 2012-08-14   The Statistics of Web Performance Analysis   25
MoE at 95% confidence




                                       σ
                                 ±1.96 √n




      Boston #WebPerf Meetup / 2012-08-14   The Statistics of Web Performance Analysis   26
MoE & Sample size




   There is an inverse square root correlation between sample size
                         and margin of error




       Boston #WebPerf Meetup / 2012-08-14   The Statistics of Web Performance Analysis   27
1-3   Central Tendency



Boston #WebPerf Meetup / 2012-08-14   The Statistics of Web Performance Analysis   28
Boston #WebPerf Meetup / 2012-08-14   The Statistics of Web Performance Analysis   29
One number




    • Mean (Arithmetic)
       • Good for symmetric curves
       • Affected by outliers


                Mean(10, 11, 12, 11, 109) = 30




      Boston #WebPerf Meetup / 2012-08-14   The Statistics of Web Performance Analysis   30
One number




    • Median
       • Middle value measures central tendency well
       • Not trivial to pull out of a DB


              Median(10, 11, 12, 11, 109) = 11




      Boston #WebPerf Meetup / 2012-08-14   The Statistics of Web Performance Analysis   31
One number




    • Mode
       • Not often used
       • Multi-modal distributions suggest problems


                Mode(10, 11, 12, 11, 109) = 11




      Boston #WebPerf Meetup / 2012-08-14   The Statistics of Web Performance Analysis   32
Other numbers




    • A percentile point in the distribution: 95th , 98.5th or 99th
        • Used to find out the worst user experience
        • Makes more sense if you filter data first


                P95th (10, 11, 12, 11, 109) = 12




      Boston #WebPerf Meetup / 2012-08-14   The Statistics of Web Performance Analysis   33
Other means




    • Geometric mean
        • Good if your data is exponential in nature
          (with the tail on the right)


           GMean(10, 11, 12, 11, 109) = 16.68




      Boston #WebPerf Meetup / 2012-08-14   The Statistics of Web Performance Analysis   34
Wait... how did I get that?




                N
                    ΠN xi — could lead to overflow
                     i=1

               ΣN loge (xi )
                i=1
                    N
          e                       — computationally simpler




       Boston #WebPerf Meetup / 2012-08-14   The Statistics of Web Performance Analysis   35
Wait... how did I get that?




                N
                    ΠN xi — could lead to overflow
                     i=1

               ΣN loge (xi )
                i=1
                    N
          e                       — computationally simpler




       Boston #WebPerf Meetup / 2012-08-14   The Statistics of Web Performance Analysis   35
Wait... how did I get that?




                N
                    ΠN xi — could lead to overflow
                     i=1

               ΣN loge (xi )
                i=1
                    N
          e                       — computationally simpler




       Boston #WebPerf Meetup / 2012-08-14   The Statistics of Web Performance Analysis   35
Wait... how did I get that?




                N
                    ΠN xi — could lead to overflow
                     i=1

               ΣN loge (xi )
                i=1
                    N
          e                       — computationally simpler




       Boston #WebPerf Meetup / 2012-08-14   The Statistics of Web Performance Analysis   35
Other means




    And there is also the Harmonic mean, but forget about that




      Boston #WebPerf Meetup / 2012-08-14   The Statistics of Web Performance Analysis   36
...though consequently




   We have other margins of error
    • Geometric margin of error
          • Uses geometric standard deviation
     • Median margin of error
        • Uses ranges of actual values from data set
     • Stick to the arithmetic MoE
       – simpler to calculate, simpler to read and not incorrect




       Boston #WebPerf Meetup / 2012-08-14   The Statistics of Web Performance Analysis   37
...though consequently




   We have other margins of error
    • Geometric margin of error
          • Uses geometric standard deviation
     • Median margin of error
        • Uses ranges of actual values from data set
     • Stick to the arithmetic MoE
       – simpler to calculate, simpler to read and not incorrect




       Boston #WebPerf Meetup / 2012-08-14   The Statistics of Web Performance Analysis   37
2
                        Statistics - 2



Boston #WebPerf Meetup / 2012-08-14   The Statistics of Web Performance Analysis   38
2-1         Distributions



Boston #WebPerf Meetup / 2012-08-14   The Statistics of Web Performance Analysis   39
Let’s look at some real charts




Boston #WebPerf Meetup / 2012-08-14   The Statistics of Web Performance Analysis   40
Sparse Distribution




       Boston #WebPerf Meetup / 2012-08-14   The Statistics of Web Performance Analysis   41
Log-normal distribution




       Boston #WebPerf Meetup / 2012-08-14   The Statistics of Web Performance Analysis   42
Bimodal distribution




       Boston #WebPerf Meetup / 2012-08-14   The Statistics of Web Performance Analysis   43
What does all of this mean?




Boston #WebPerf Meetup / 2012-08-14   The Statistics of Web Performance Analysis   44
Distributions




     • Sparse distribution suggests that you don’t have enough
       data points
     • Log-normal distribution is typical
     • Bi-modal distribution suggests two (or more) distributions
       combined




       Boston #WebPerf Meetup / 2012-08-14   The Statistics of Web Performance Analysis   45
In practice, a bi-modal distribution is not uncommon




Boston #WebPerf Meetup / 2012-08-14   The Statistics of Web Performance Analysis   46
Hint: Does your site do a lot of back-end caching?




Boston #WebPerf Meetup / 2012-08-14   The Statistics of Web Performance Analysis   47
2-2               Filtering



Boston #WebPerf Meetup / 2012-08-14   The Statistics of Web Performance Analysis   48
Outliers




                                                        • Out of range data points
                                                        • Nothing you can fix here
                                                        • There’s even a book about
                                                           them




       Boston #WebPerf Meetup / 2012-08-14   The Statistics of Web Performance Analysis   49
Outliers




                                                        • Out of range data points
                                                        • Nothing you can fix here
                                                        • There’s even a book about
                                                           them




       Boston #WebPerf Meetup / 2012-08-14   The Statistics of Web Performance Analysis   49
Outliers




                                                        • Out of range data points
                                                        • Nothing you can fix here
                                                        • There’s even a book about
                                                           them




       Boston #WebPerf Meetup / 2012-08-14   The Statistics of Web Performance Analysis   49
Outliers




                                                        • Out of range data points
                                                        • Nothing you can fix here
                                                        • There’s even a book about
                                                           them




       Boston #WebPerf Meetup / 2012-08-14   The Statistics of Web Performance Analysis   49
DNS problems can cause outliers




     • 2 or 3 DNS servers for an ISP
     • 30 second timeout if first fails
     • ... 30 second increase in page load time
     • Maybe measure both and fix what you can
     • http://nms.lcs.mit.edu/papers/dns-ton2002.pdf




       Boston #WebPerf Meetup / 2012-08-14   The Statistics of Web Performance Analysis   50
Band-pass filtering




       Boston #WebPerf Meetup / 2012-08-14   The Statistics of Web Performance Analysis   51
Band-pass filtering




     • Strip everything outside a reasonable range
         • Bandwidth range: 4kbps - 4Gbps
         • Page load time: 50ms - 120s
     • You may need to relook at the ranges all the time




       Boston #WebPerf Meetup / 2012-08-14   The Statistics of Web Performance Analysis   51
IQR filtering




       Boston #WebPerf Meetup / 2012-08-14   The Statistics of Web Performance Analysis   52
IQR filtering




                  Here, we derive the range from the data




       Boston #WebPerf Meetup / 2012-08-14   The Statistics of Web Performance Analysis   52
Further Reading




   lognormal.com/blog/2012/08/13/analysing-performance-data/




      Boston #WebPerf Meetup / 2012-08-14   The Statistics of Web Performance Analysis   53
Summary




    • Choose a reasonable sample size and sampling factor
    • Tune sample size for minimal margin of error
    • Decide based on your data whether to use mode, median
      or one of the means
    • Figure out whether your data is Normal, Log-Normal or
      something else
    • Filter out anomalous outliers




      Boston #WebPerf Meetup / 2012-08-14   The Statistics of Web Performance Analysis   54
• Philip Tellis

•                           .com
• philip@lognormal.com
• @bluesmoon
• geek paranoid speedfreak
• http://bluesmoon.info/




    Boston #WebPerf Meetup / 2012-08-14   The Statistics of Web Performance Analysis   55
Thank you




Boston #WebPerf Meetup / 2012-08-14   The Statistics of Web Performance Analysis   56
Photo credits




     • http://www.flickr.com/photos/leoffreitas/332360959/ by leoffreitas
     • http://www.flickr.com/photos/cobalt/56500295/ by cobalt123
     • http://www.flickr.com/photos/sophistechate/4264466015/ by Lisa
       Brewster




       Boston #WebPerf Meetup / 2012-08-14   The Statistics of Web Performance Analysis   57
List of figures




     • http://en.wikipedia.org/wiki/File:Standard_deviation_diagram.svg
     • http://en.wikipedia.org/wiki/File:Normal_Distribution_PDF.svg
     • http://en.wikipedia.org/wiki/File:KilroySchematic.svg
     • http://en.wikipedia.org/wiki/File:Boxplot_vs_PDF.png




       Boston #WebPerf Meetup / 2012-08-14   The Statistics of Web Performance Analysis   58

More Related Content

Viewers also liked

common size trend analysis of financial st of pharma co
common size  trend analysis  of financial st  of pharma  cocommon size  trend analysis  of financial st  of pharma  co
common size trend analysis of financial st of pharma coUtsav Randev
 
Apple (AAPL) valuation using Discounted Cash Flow (DCF) model
Apple (AAPL) valuation using Discounted Cash Flow (DCF) modelApple (AAPL) valuation using Discounted Cash Flow (DCF) model
Apple (AAPL) valuation using Discounted Cash Flow (DCF) modelNaren Chawla
 
MeetBSD2014 Performance Analysis
MeetBSD2014 Performance AnalysisMeetBSD2014 Performance Analysis
MeetBSD2014 Performance AnalysisBrendan Gregg
 
Kingfisher assignment
Kingfisher assignmentKingfisher assignment
Kingfisher assignmentvaruna177
 
Trend Analysis Of Balance Sheet Of Apple Company
Trend Analysis Of Balance Sheet Of Apple CompanyTrend Analysis Of Balance Sheet Of Apple Company
Trend Analysis Of Balance Sheet Of Apple Companysunnychhutani28
 
Report on financial statement for five years using trend, comparative & comm...
Report on financial statement for five years using trend, comparative  & comm...Report on financial statement for five years using trend, comparative  & comm...
Report on financial statement for five years using trend, comparative & comm...Sayen Upreti
 
financial analysis of icici prudential life insurance
financial analysis of icici prudential life insurancefinancial analysis of icici prudential life insurance
financial analysis of icici prudential life insuranceamit soni
 
Cross comparision analysis of financial crisis
Cross comparision analysis of financial crisisCross comparision analysis of financial crisis
Cross comparision analysis of financial crisisShubham Khandelwal
 
Bajaj Auto Financial Analysis
Bajaj Auto Financial AnalysisBajaj Auto Financial Analysis
Bajaj Auto Financial Analysisyush313
 
General Motor's Balance Sheet
General Motor's Balance SheetGeneral Motor's Balance Sheet
General Motor's Balance SheetOneMarlandRoad
 
Kingfisher airlines ppt
Kingfisher airlines pptKingfisher airlines ppt
Kingfisher airlines pptGaurav Patel
 
Coca-Cola Financial Analysis
Coca-Cola Financial AnalysisCoca-Cola Financial Analysis
Coca-Cola Financial AnalysisAustin Jacobs
 
Financial statement analysis
Financial statement analysisFinancial statement analysis
Financial statement analysiskiran bala sahoo
 
Coca-Cola Financial Analysis
Coca-Cola Financial AnalysisCoca-Cola Financial Analysis
Coca-Cola Financial AnalysisElie Obeid
 

Viewers also liked (17)

"Common Size Analysis" by Jimmy Gentry
"Common Size Analysis" by Jimmy Gentry"Common Size Analysis" by Jimmy Gentry
"Common Size Analysis" by Jimmy Gentry
 
Strictly Financials 2014: Common Size Analysis by Jimmy Gentry
Strictly Financials 2014: Common Size Analysis by Jimmy GentryStrictly Financials 2014: Common Size Analysis by Jimmy Gentry
Strictly Financials 2014: Common Size Analysis by Jimmy Gentry
 
common size trend analysis of financial st of pharma co
common size  trend analysis  of financial st  of pharma  cocommon size  trend analysis  of financial st  of pharma  co
common size trend analysis of financial st of pharma co
 
Apple (AAPL) valuation using Discounted Cash Flow (DCF) model
Apple (AAPL) valuation using Discounted Cash Flow (DCF) modelApple (AAPL) valuation using Discounted Cash Flow (DCF) model
Apple (AAPL) valuation using Discounted Cash Flow (DCF) model
 
MeetBSD2014 Performance Analysis
MeetBSD2014 Performance AnalysisMeetBSD2014 Performance Analysis
MeetBSD2014 Performance Analysis
 
Kingfisher assignment
Kingfisher assignmentKingfisher assignment
Kingfisher assignment
 
Trend Analysis Of Balance Sheet Of Apple Company
Trend Analysis Of Balance Sheet Of Apple CompanyTrend Analysis Of Balance Sheet Of Apple Company
Trend Analysis Of Balance Sheet Of Apple Company
 
Common Size Analysis
Common Size AnalysisCommon Size Analysis
Common Size Analysis
 
Report on financial statement for five years using trend, comparative & comm...
Report on financial statement for five years using trend, comparative  & comm...Report on financial statement for five years using trend, comparative  & comm...
Report on financial statement for five years using trend, comparative & comm...
 
financial analysis of icici prudential life insurance
financial analysis of icici prudential life insurancefinancial analysis of icici prudential life insurance
financial analysis of icici prudential life insurance
 
Cross comparision analysis of financial crisis
Cross comparision analysis of financial crisisCross comparision analysis of financial crisis
Cross comparision analysis of financial crisis
 
Bajaj Auto Financial Analysis
Bajaj Auto Financial AnalysisBajaj Auto Financial Analysis
Bajaj Auto Financial Analysis
 
General Motor's Balance Sheet
General Motor's Balance SheetGeneral Motor's Balance Sheet
General Motor's Balance Sheet
 
Kingfisher airlines ppt
Kingfisher airlines pptKingfisher airlines ppt
Kingfisher airlines ppt
 
Coca-Cola Financial Analysis
Coca-Cola Financial AnalysisCoca-Cola Financial Analysis
Coca-Cola Financial Analysis
 
Financial statement analysis
Financial statement analysisFinancial statement analysis
Financial statement analysis
 
Coca-Cola Financial Analysis
Coca-Cola Financial AnalysisCoca-Cola Financial Analysis
Coca-Cola Financial Analysis
 

Similar to The Statistics of Web Performance Analysis

PSI_aboveFold_parvez_2016_07.pptx
PSI_aboveFold_parvez_2016_07.pptxPSI_aboveFold_parvez_2016_07.pptx
PSI_aboveFold_parvez_2016_07.pptxpahammad
 
Lean Six Sigma Green Belt Certification 1
Lean Six Sigma Green Belt Certification 1Lean Six Sigma Green Belt Certification 1
Lean Six Sigma Green Belt Certification 1Fred Zuercher
 
IRJET- Web Scraping Techniques to Collect Bank Offer Data from Bank Website
IRJET- Web Scraping Techniques to Collect Bank Offer Data from Bank WebsiteIRJET- Web Scraping Techniques to Collect Bank Offer Data from Bank Website
IRJET- Web Scraping Techniques to Collect Bank Offer Data from Bank WebsiteIRJET Journal
 
IRJET- Web Scraping Techniques to Collect Bank Offer Data from Bank Website
IRJET- Web Scraping Techniques to Collect Bank Offer Data from Bank WebsiteIRJET- Web Scraping Techniques to Collect Bank Offer Data from Bank Website
IRJET- Web Scraping Techniques to Collect Bank Offer Data from Bank WebsiteIRJET Journal
 
Costis Aivalis Web analytics Software IFITT Greece Hilton Athens Sept 2011
Costis Aivalis Web analytics Software IFITT Greece Hilton Athens Sept 2011Costis Aivalis Web analytics Software IFITT Greece Hilton Athens Sept 2011
Costis Aivalis Web analytics Software IFITT Greece Hilton Athens Sept 2011IFITT Greece
 
Air Quality Modelling Tools (Aberdeen Pilot Project) Dr. Alan Hills, SEPA
Air Quality Modelling Tools (Aberdeen Pilot Project) Dr. Alan Hills, SEPAAir Quality Modelling Tools (Aberdeen Pilot Project) Dr. Alan Hills, SEPA
Air Quality Modelling Tools (Aberdeen Pilot Project) Dr. Alan Hills, SEPASTEP_scotland
 
Cloud-Scale BGP and NetFlow Analysis
Cloud-Scale BGP and NetFlow AnalysisCloud-Scale BGP and NetFlow Analysis
Cloud-Scale BGP and NetFlow AnalysisAlex Henthorn-Iwane
 
Performing at your best turning words into numbers and numbers into data driv...
Performing at your best turning words into numbers and numbers into data driv...Performing at your best turning words into numbers and numbers into data driv...
Performing at your best turning words into numbers and numbers into data driv...Minitab, LLC
 
When Data Visualizations and Data Imports Just Don’t Work
When Data Visualizations and Data Imports Just Don’t WorkWhen Data Visualizations and Data Imports Just Don’t Work
When Data Visualizations and Data Imports Just Don’t WorkJim Kaplan CIA CFE
 
TripChain: A Peer-to-Peer Trip Generation Database
TripChain: A Peer-to-Peer Trip Generation DatabaseTripChain: A Peer-to-Peer Trip Generation Database
TripChain: A Peer-to-Peer Trip Generation DatabaseJon Kostyniuk
 
Unveiling Citywide Data to Generate Artificial Intelligent Solutions
Unveiling Citywide Data to Generate Artificial Intelligent SolutionsUnveiling Citywide Data to Generate Artificial Intelligent Solutions
Unveiling Citywide Data to Generate Artificial Intelligent SolutionsRPO America
 
L2 DS Tools and Application.pptx
L2 DS Tools and Application.pptxL2 DS Tools and Application.pptx
L2 DS Tools and Application.pptxShambhavi Vats
 
ISWC 2015 - Collecting, integrating, enriching and republishing open city dat...
ISWC 2015 - Collecting, integrating, enriching and republishing open city dat...ISWC 2015 - Collecting, integrating, enriching and republishing open city dat...
ISWC 2015 - Collecting, integrating, enriching and republishing open city dat...Stefan Bischof
 
Keys To World-Class Retail Web Performance - Expert tips for holiday web read...
Keys To World-Class Retail Web Performance - Expert tips for holiday web read...Keys To World-Class Retail Web Performance - Expert tips for holiday web read...
Keys To World-Class Retail Web Performance - Expert tips for holiday web read...SOASTA
 
Using big data_to_your_advantage
Using big data_to_your_advantageUsing big data_to_your_advantage
Using big data_to_your_advantageJohn Repko
 
How we built analytics from scratch (in seven easy steps)
How we built analytics from scratch (in seven easy steps)How we built analytics from scratch (in seven easy steps)
How we built analytics from scratch (in seven easy steps)plumbee
 
Effort estimation for web applications
Effort estimation for web applicationsEffort estimation for web applications
Effort estimation for web applicationsNagaraja Gundappa
 

Similar to The Statistics of Web Performance Analysis (20)

Project excursion
Project excursionProject excursion
Project excursion
 
PSI_aboveFold_parvez_2016_07.pptx
PSI_aboveFold_parvez_2016_07.pptxPSI_aboveFold_parvez_2016_07.pptx
PSI_aboveFold_parvez_2016_07.pptx
 
Lean Six Sigma Green Belt Certification 1
Lean Six Sigma Green Belt Certification 1Lean Six Sigma Green Belt Certification 1
Lean Six Sigma Green Belt Certification 1
 
IRJET- Web Scraping Techniques to Collect Bank Offer Data from Bank Website
IRJET- Web Scraping Techniques to Collect Bank Offer Data from Bank WebsiteIRJET- Web Scraping Techniques to Collect Bank Offer Data from Bank Website
IRJET- Web Scraping Techniques to Collect Bank Offer Data from Bank Website
 
IRJET- Web Scraping Techniques to Collect Bank Offer Data from Bank Website
IRJET- Web Scraping Techniques to Collect Bank Offer Data from Bank WebsiteIRJET- Web Scraping Techniques to Collect Bank Offer Data from Bank Website
IRJET- Web Scraping Techniques to Collect Bank Offer Data from Bank Website
 
Costis Aivalis Web analytics Software IFITT Greece Hilton Athens Sept 2011
Costis Aivalis Web analytics Software IFITT Greece Hilton Athens Sept 2011Costis Aivalis Web analytics Software IFITT Greece Hilton Athens Sept 2011
Costis Aivalis Web analytics Software IFITT Greece Hilton Athens Sept 2011
 
Air Quality Modelling Tools (Aberdeen Pilot Project) Dr. Alan Hills, SEPA
Air Quality Modelling Tools (Aberdeen Pilot Project) Dr. Alan Hills, SEPAAir Quality Modelling Tools (Aberdeen Pilot Project) Dr. Alan Hills, SEPA
Air Quality Modelling Tools (Aberdeen Pilot Project) Dr. Alan Hills, SEPA
 
Cloud-Scale BGP and NetFlow Analysis
Cloud-Scale BGP and NetFlow AnalysisCloud-Scale BGP and NetFlow Analysis
Cloud-Scale BGP and NetFlow Analysis
 
Performing at your best turning words into numbers and numbers into data driv...
Performing at your best turning words into numbers and numbers into data driv...Performing at your best turning words into numbers and numbers into data driv...
Performing at your best turning words into numbers and numbers into data driv...
 
When Data Visualizations and Data Imports Just Don’t Work
When Data Visualizations and Data Imports Just Don’t WorkWhen Data Visualizations and Data Imports Just Don’t Work
When Data Visualizations and Data Imports Just Don’t Work
 
TripChain: A Peer-to-Peer Trip Generation Database
TripChain: A Peer-to-Peer Trip Generation DatabaseTripChain: A Peer-to-Peer Trip Generation Database
TripChain: A Peer-to-Peer Trip Generation Database
 
Unveiling Citywide Data to Generate Artificial Intelligent Solutions
Unveiling Citywide Data to Generate Artificial Intelligent SolutionsUnveiling Citywide Data to Generate Artificial Intelligent Solutions
Unveiling Citywide Data to Generate Artificial Intelligent Solutions
 
How to be data savvy manager
How to be data savvy managerHow to be data savvy manager
How to be data savvy manager
 
L2 DS Tools and Application.pptx
L2 DS Tools and Application.pptxL2 DS Tools and Application.pptx
L2 DS Tools and Application.pptx
 
ISWC 2015 - Collecting, integrating, enriching and republishing open city dat...
ISWC 2015 - Collecting, integrating, enriching and republishing open city dat...ISWC 2015 - Collecting, integrating, enriching and republishing open city dat...
ISWC 2015 - Collecting, integrating, enriching and republishing open city dat...
 
Keys To World-Class Retail Web Performance - Expert tips for holiday web read...
Keys To World-Class Retail Web Performance - Expert tips for holiday web read...Keys To World-Class Retail Web Performance - Expert tips for holiday web read...
Keys To World-Class Retail Web Performance - Expert tips for holiday web read...
 
Using big data_to_your_advantage
Using big data_to_your_advantageUsing big data_to_your_advantage
Using big data_to_your_advantage
 
How we built analytics from scratch (in seven easy steps)
How we built analytics from scratch (in seven easy steps)How we built analytics from scratch (in seven easy steps)
How we built analytics from scratch (in seven easy steps)
 
Environmental Data Management and Analytics
Environmental Data Management and AnalyticsEnvironmental Data Management and Analytics
Environmental Data Management and Analytics
 
Effort estimation for web applications
Effort estimation for web applicationsEffort estimation for web applications
Effort estimation for web applications
 

More from Philip Tellis

Improving D3 Performance with CANVAS and other Hacks
Improving D3 Performance with CANVAS and other HacksImproving D3 Performance with CANVAS and other Hacks
Improving D3 Performance with CANVAS and other HacksPhilip Tellis
 
Frontend Performance: Beginner to Expert to Crazy Person
Frontend Performance: Beginner to Expert to Crazy PersonFrontend Performance: Beginner to Expert to Crazy Person
Frontend Performance: Beginner to Expert to Crazy PersonPhilip Tellis
 
Frontend Performance: De débutant à Expert à Fou Furieux
Frontend Performance: De débutant à Expert à Fou FurieuxFrontend Performance: De débutant à Expert à Fou Furieux
Frontend Performance: De débutant à Expert à Fou FurieuxPhilip Tellis
 
Frontend Performance: Expert to Crazy Person
Frontend Performance: Expert to Crazy PersonFrontend Performance: Expert to Crazy Person
Frontend Performance: Expert to Crazy PersonPhilip Tellis
 
Beyond Page Level Metrics
Beyond Page Level MetricsBeyond Page Level Metrics
Beyond Page Level MetricsPhilip Tellis
 
Frontend Performance: Beginner to Expert to Crazy Person (San Diego Web Perf ...
Frontend Performance: Beginner to Expert to Crazy Person (San Diego Web Perf ...Frontend Performance: Beginner to Expert to Crazy Person (San Diego Web Perf ...
Frontend Performance: Beginner to Expert to Crazy Person (San Diego Web Perf ...Philip Tellis
 
Frontend Performance: Beginner to Expert to Crazy Person
Frontend Performance: Beginner to Expert to Crazy PersonFrontend Performance: Beginner to Expert to Crazy Person
Frontend Performance: Beginner to Expert to Crazy PersonPhilip Tellis
 
Frontend Performance: Beginner to Expert to Crazy Person
Frontend Performance: Beginner to Expert to Crazy PersonFrontend Performance: Beginner to Expert to Crazy Person
Frontend Performance: Beginner to Expert to Crazy PersonPhilip Tellis
 
Frontend Performance: Beginner to Expert to Crazy Person
Frontend Performance: Beginner to Expert to Crazy PersonFrontend Performance: Beginner to Expert to Crazy Person
Frontend Performance: Beginner to Expert to Crazy PersonPhilip Tellis
 
RUM Distillation 101 -- Part I
RUM Distillation 101 -- Part IRUM Distillation 101 -- Part I
RUM Distillation 101 -- Part IPhilip Tellis
 
Improving 3rd Party Script Performance With IFrames
Improving 3rd Party Script Performance With IFramesImproving 3rd Party Script Performance With IFrames
Improving 3rd Party Script Performance With IFramesPhilip Tellis
 
Abusing JavaScript to measure Web Performance, or, "how does boomerang work?"
Abusing JavaScript to measure Web Performance, or, "how does boomerang work?"Abusing JavaScript to measure Web Performance, or, "how does boomerang work?"
Abusing JavaScript to measure Web Performance, or, "how does boomerang work?"Philip Tellis
 
Abusing JavaScript to Measure Web Performance
Abusing JavaScript to Measure Web PerformanceAbusing JavaScript to Measure Web Performance
Abusing JavaScript to Measure Web PerformancePhilip Tellis
 
Analysing network characteristics with JavaScript
Analysing network characteristics with JavaScriptAnalysing network characteristics with JavaScript
Analysing network characteristics with JavaScriptPhilip Tellis
 
A Node.JS bag of goodies for analyzing Web Traffic
A Node.JS bag of goodies for analyzing Web TrafficA Node.JS bag of goodies for analyzing Web Traffic
A Node.JS bag of goodies for analyzing Web TrafficPhilip Tellis
 
Messing with JavaScript and the DOM to measure network characteristics
Messing with JavaScript and the DOM to measure network characteristicsMessing with JavaScript and the DOM to measure network characteristics
Messing with JavaScript and the DOM to measure network characteristicsPhilip Tellis
 

More from Philip Tellis (20)

Improving D3 Performance with CANVAS and other Hacks
Improving D3 Performance with CANVAS and other HacksImproving D3 Performance with CANVAS and other Hacks
Improving D3 Performance with CANVAS and other Hacks
 
Frontend Performance: Beginner to Expert to Crazy Person
Frontend Performance: Beginner to Expert to Crazy PersonFrontend Performance: Beginner to Expert to Crazy Person
Frontend Performance: Beginner to Expert to Crazy Person
 
Frontend Performance: De débutant à Expert à Fou Furieux
Frontend Performance: De débutant à Expert à Fou FurieuxFrontend Performance: De débutant à Expert à Fou Furieux
Frontend Performance: De débutant à Expert à Fou Furieux
 
Frontend Performance: Expert to Crazy Person
Frontend Performance: Expert to Crazy PersonFrontend Performance: Expert to Crazy Person
Frontend Performance: Expert to Crazy Person
 
Beyond Page Level Metrics
Beyond Page Level MetricsBeyond Page Level Metrics
Beyond Page Level Metrics
 
Frontend Performance: Beginner to Expert to Crazy Person (San Diego Web Perf ...
Frontend Performance: Beginner to Expert to Crazy Person (San Diego Web Perf ...Frontend Performance: Beginner to Expert to Crazy Person (San Diego Web Perf ...
Frontend Performance: Beginner to Expert to Crazy Person (San Diego Web Perf ...
 
Frontend Performance: Beginner to Expert to Crazy Person
Frontend Performance: Beginner to Expert to Crazy PersonFrontend Performance: Beginner to Expert to Crazy Person
Frontend Performance: Beginner to Expert to Crazy Person
 
Frontend Performance: Beginner to Expert to Crazy Person
Frontend Performance: Beginner to Expert to Crazy PersonFrontend Performance: Beginner to Expert to Crazy Person
Frontend Performance: Beginner to Expert to Crazy Person
 
Frontend Performance: Beginner to Expert to Crazy Person
Frontend Performance: Beginner to Expert to Crazy PersonFrontend Performance: Beginner to Expert to Crazy Person
Frontend Performance: Beginner to Expert to Crazy Person
 
mmm... beacons
mmm... beaconsmmm... beacons
mmm... beacons
 
RUM Distillation 101 -- Part I
RUM Distillation 101 -- Part IRUM Distillation 101 -- Part I
RUM Distillation 101 -- Part I
 
Improving 3rd Party Script Performance With IFrames
Improving 3rd Party Script Performance With IFramesImproving 3rd Party Script Performance With IFrames
Improving 3rd Party Script Performance With IFrames
 
Extending Boomerang
Extending BoomerangExtending Boomerang
Extending Boomerang
 
Abusing JavaScript to measure Web Performance, or, "how does boomerang work?"
Abusing JavaScript to measure Web Performance, or, "how does boomerang work?"Abusing JavaScript to measure Web Performance, or, "how does boomerang work?"
Abusing JavaScript to measure Web Performance, or, "how does boomerang work?"
 
Abusing JavaScript to Measure Web Performance
Abusing JavaScript to Measure Web PerformanceAbusing JavaScript to Measure Web Performance
Abusing JavaScript to Measure Web Performance
 
Rum for Breakfast
Rum for BreakfastRum for Breakfast
Rum for Breakfast
 
Analysing network characteristics with JavaScript
Analysing network characteristics with JavaScriptAnalysing network characteristics with JavaScript
Analysing network characteristics with JavaScript
 
A Node.JS bag of goodies for analyzing Web Traffic
A Node.JS bag of goodies for analyzing Web TrafficA Node.JS bag of goodies for analyzing Web Traffic
A Node.JS bag of goodies for analyzing Web Traffic
 
Input sanitization
Input sanitizationInput sanitization
Input sanitization
 
Messing with JavaScript and the DOM to measure network characteristics
Messing with JavaScript and the DOM to measure network characteristicsMessing with JavaScript and the DOM to measure network characteristics
Messing with JavaScript and the DOM to measure network characteristics
 

Recently uploaded

So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 

Recently uploaded (20)

So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 

The Statistics of Web Performance Analysis

  • 1. • Philip Tellis • .com • philip@lognormal.com • @bluesmoon • geek paranoid speedfreak • http://bluesmoon.info/ Boston #WebPerf Meetup / 2012-08-14 The Statistics of Web Performance Analysis 1
  • 2. I’m a Web Speedfreak Boston #WebPerf Meetup / 2012-08-14 The Statistics of Web Performance Analysis 2
  • 3. We measure real user website performance Boston #WebPerf Meetup / 2012-08-14 The Statistics of Web Performance Analysis 3
  • 4. This talk is about the Statistics we learned while building it Boston #WebPerf Meetup / 2012-08-14 The Statistics of Web Performance Analysis 4
  • 5. The Statistics of Web Performance Analysis Philip Tellis / philip@lognormal.com Boston #WebPerf Meetup / 2012-08-14 Boston #WebPerf Meetup / 2012-08-14 The Statistics of Web Performance Analysis 5
  • 6. 0 Numbers Boston #WebPerf Meetup / 2012-08-14 The Statistics of Web Performance Analysis 6
  • 7. Accurately measure page performance∗ Boston #WebPerf Meetup / 2012-08-14 The Statistics of Web Performance Analysis 7
  • 8. Be unintrusive If you try to measure something accurately, you will change something related – Heisenberg’s uncertainty principle Boston #WebPerf Meetup / 2012-08-14 The Statistics of Web Performance Analysis 8
  • 9. And one number to rule them all Boston #WebPerf Meetup / 2012-08-14 The Statistics of Web Performance Analysis 9
  • 10. What do we measure? • Network Throughput • Network Latency • User perceived page load time Boston #WebPerf Meetup / 2012-08-14 The Statistics of Web Performance Analysis 10
  • 11. We measure real user data Boston #WebPerf Meetup / 2012-08-14 The Statistics of Web Performance Analysis 11
  • 12. Which is noisy Boston #WebPerf Meetup / 2012-08-14 The Statistics of Web Performance Analysis 12
  • 13. 1 Statistics - 1 Boston #WebPerf Meetup / 2012-08-14 The Statistics of Web Performance Analysis 13
  • 14. Disclaimer I am not a statistician Boston #WebPerf Meetup / 2012-08-14 The Statistics of Web Performance Analysis 14
  • 15. 1-1 Random Sampling Boston #WebPerf Meetup / 2012-08-14 The Statistics of Web Performance Analysis 15
  • 16. Population All possible users of your system Boston #WebPerf Meetup / 2012-08-14 The Statistics of Web Performance Analysis 16
  • 17. Sample Representative subset of the population Boston #WebPerf Meetup / 2012-08-14 The Statistics of Web Performance Analysis 17
  • 18. Bad sample Sometimes it’s not Boston #WebPerf Meetup / 2012-08-14 The Statistics of Web Performance Analysis 18
  • 19. How to randomize? http://xkcd.com/221/ Boston #WebPerf Meetup / 2012-08-14 The Statistics of Web Performance Analysis 19
  • 20. How to randomize? • Pick 10% of users at random and always test them OR • For each user, decide at random if they should be tested http://tech.bluesmoon.info/2010/01/statistics-of-performance-measurement.html Boston #WebPerf Meetup / 2012-08-14 The Statistics of Web Performance Analysis 20
  • 21. Select 10% of users - I if($sessionid % 10 === 0) { // instrument code for measurement } • Once a user enters the measurement bucket, they stay there until they log out • Fixed set of users, so tests may be more consistent • Error in the sample results in positive feedback Boston #WebPerf Meetup / 2012-08-14 The Statistics of Web Performance Analysis 21
  • 22. Select 10% of users - II if(rand() < 0.1 * getrandmax()) { // instrument code for measurement } • For every request, a user has a 10% chance of being tested • Gets rid of positive feedback errors, but sample size != 10% of population Boston #WebPerf Meetup / 2012-08-14 The Statistics of Web Performance Analysis 22
  • 23. How big a sample is representative? Select n such that σ 1.96 √n ≤ 5%µ Boston #WebPerf Meetup / 2012-08-14 The Statistics of Web Performance Analysis 23
  • 24. 1-2 Margin of Error Boston #WebPerf Meetup / 2012-08-14 The Statistics of Web Performance Analysis 24
  • 25. Standard Deviation • Standard deviation tells you the spread of the curve • The narrower the curve, the more confident you can be Boston #WebPerf Meetup / 2012-08-14 The Statistics of Web Performance Analysis 25
  • 26. MoE at 95% confidence σ ±1.96 √n Boston #WebPerf Meetup / 2012-08-14 The Statistics of Web Performance Analysis 26
  • 27. MoE & Sample size There is an inverse square root correlation between sample size and margin of error Boston #WebPerf Meetup / 2012-08-14 The Statistics of Web Performance Analysis 27
  • 28. 1-3 Central Tendency Boston #WebPerf Meetup / 2012-08-14 The Statistics of Web Performance Analysis 28
  • 29. Boston #WebPerf Meetup / 2012-08-14 The Statistics of Web Performance Analysis 29
  • 30. One number • Mean (Arithmetic) • Good for symmetric curves • Affected by outliers Mean(10, 11, 12, 11, 109) = 30 Boston #WebPerf Meetup / 2012-08-14 The Statistics of Web Performance Analysis 30
  • 31. One number • Median • Middle value measures central tendency well • Not trivial to pull out of a DB Median(10, 11, 12, 11, 109) = 11 Boston #WebPerf Meetup / 2012-08-14 The Statistics of Web Performance Analysis 31
  • 32. One number • Mode • Not often used • Multi-modal distributions suggest problems Mode(10, 11, 12, 11, 109) = 11 Boston #WebPerf Meetup / 2012-08-14 The Statistics of Web Performance Analysis 32
  • 33. Other numbers • A percentile point in the distribution: 95th , 98.5th or 99th • Used to find out the worst user experience • Makes more sense if you filter data first P95th (10, 11, 12, 11, 109) = 12 Boston #WebPerf Meetup / 2012-08-14 The Statistics of Web Performance Analysis 33
  • 34. Other means • Geometric mean • Good if your data is exponential in nature (with the tail on the right) GMean(10, 11, 12, 11, 109) = 16.68 Boston #WebPerf Meetup / 2012-08-14 The Statistics of Web Performance Analysis 34
  • 35. Wait... how did I get that? N ΠN xi — could lead to overflow i=1 ΣN loge (xi ) i=1 N e — computationally simpler Boston #WebPerf Meetup / 2012-08-14 The Statistics of Web Performance Analysis 35
  • 36. Wait... how did I get that? N ΠN xi — could lead to overflow i=1 ΣN loge (xi ) i=1 N e — computationally simpler Boston #WebPerf Meetup / 2012-08-14 The Statistics of Web Performance Analysis 35
  • 37. Wait... how did I get that? N ΠN xi — could lead to overflow i=1 ΣN loge (xi ) i=1 N e — computationally simpler Boston #WebPerf Meetup / 2012-08-14 The Statistics of Web Performance Analysis 35
  • 38. Wait... how did I get that? N ΠN xi — could lead to overflow i=1 ΣN loge (xi ) i=1 N e — computationally simpler Boston #WebPerf Meetup / 2012-08-14 The Statistics of Web Performance Analysis 35
  • 39. Other means And there is also the Harmonic mean, but forget about that Boston #WebPerf Meetup / 2012-08-14 The Statistics of Web Performance Analysis 36
  • 40. ...though consequently We have other margins of error • Geometric margin of error • Uses geometric standard deviation • Median margin of error • Uses ranges of actual values from data set • Stick to the arithmetic MoE – simpler to calculate, simpler to read and not incorrect Boston #WebPerf Meetup / 2012-08-14 The Statistics of Web Performance Analysis 37
  • 41. ...though consequently We have other margins of error • Geometric margin of error • Uses geometric standard deviation • Median margin of error • Uses ranges of actual values from data set • Stick to the arithmetic MoE – simpler to calculate, simpler to read and not incorrect Boston #WebPerf Meetup / 2012-08-14 The Statistics of Web Performance Analysis 37
  • 42. 2 Statistics - 2 Boston #WebPerf Meetup / 2012-08-14 The Statistics of Web Performance Analysis 38
  • 43. 2-1 Distributions Boston #WebPerf Meetup / 2012-08-14 The Statistics of Web Performance Analysis 39
  • 44. Let’s look at some real charts Boston #WebPerf Meetup / 2012-08-14 The Statistics of Web Performance Analysis 40
  • 45. Sparse Distribution Boston #WebPerf Meetup / 2012-08-14 The Statistics of Web Performance Analysis 41
  • 46. Log-normal distribution Boston #WebPerf Meetup / 2012-08-14 The Statistics of Web Performance Analysis 42
  • 47. Bimodal distribution Boston #WebPerf Meetup / 2012-08-14 The Statistics of Web Performance Analysis 43
  • 48. What does all of this mean? Boston #WebPerf Meetup / 2012-08-14 The Statistics of Web Performance Analysis 44
  • 49. Distributions • Sparse distribution suggests that you don’t have enough data points • Log-normal distribution is typical • Bi-modal distribution suggests two (or more) distributions combined Boston #WebPerf Meetup / 2012-08-14 The Statistics of Web Performance Analysis 45
  • 50. In practice, a bi-modal distribution is not uncommon Boston #WebPerf Meetup / 2012-08-14 The Statistics of Web Performance Analysis 46
  • 51. Hint: Does your site do a lot of back-end caching? Boston #WebPerf Meetup / 2012-08-14 The Statistics of Web Performance Analysis 47
  • 52. 2-2 Filtering Boston #WebPerf Meetup / 2012-08-14 The Statistics of Web Performance Analysis 48
  • 53. Outliers • Out of range data points • Nothing you can fix here • There’s even a book about them Boston #WebPerf Meetup / 2012-08-14 The Statistics of Web Performance Analysis 49
  • 54. Outliers • Out of range data points • Nothing you can fix here • There’s even a book about them Boston #WebPerf Meetup / 2012-08-14 The Statistics of Web Performance Analysis 49
  • 55. Outliers • Out of range data points • Nothing you can fix here • There’s even a book about them Boston #WebPerf Meetup / 2012-08-14 The Statistics of Web Performance Analysis 49
  • 56. Outliers • Out of range data points • Nothing you can fix here • There’s even a book about them Boston #WebPerf Meetup / 2012-08-14 The Statistics of Web Performance Analysis 49
  • 57. DNS problems can cause outliers • 2 or 3 DNS servers for an ISP • 30 second timeout if first fails • ... 30 second increase in page load time • Maybe measure both and fix what you can • http://nms.lcs.mit.edu/papers/dns-ton2002.pdf Boston #WebPerf Meetup / 2012-08-14 The Statistics of Web Performance Analysis 50
  • 58. Band-pass filtering Boston #WebPerf Meetup / 2012-08-14 The Statistics of Web Performance Analysis 51
  • 59. Band-pass filtering • Strip everything outside a reasonable range • Bandwidth range: 4kbps - 4Gbps • Page load time: 50ms - 120s • You may need to relook at the ranges all the time Boston #WebPerf Meetup / 2012-08-14 The Statistics of Web Performance Analysis 51
  • 60. IQR filtering Boston #WebPerf Meetup / 2012-08-14 The Statistics of Web Performance Analysis 52
  • 61. IQR filtering Here, we derive the range from the data Boston #WebPerf Meetup / 2012-08-14 The Statistics of Web Performance Analysis 52
  • 62. Further Reading lognormal.com/blog/2012/08/13/analysing-performance-data/ Boston #WebPerf Meetup / 2012-08-14 The Statistics of Web Performance Analysis 53
  • 63. Summary • Choose a reasonable sample size and sampling factor • Tune sample size for minimal margin of error • Decide based on your data whether to use mode, median or one of the means • Figure out whether your data is Normal, Log-Normal or something else • Filter out anomalous outliers Boston #WebPerf Meetup / 2012-08-14 The Statistics of Web Performance Analysis 54
  • 64. • Philip Tellis • .com • philip@lognormal.com • @bluesmoon • geek paranoid speedfreak • http://bluesmoon.info/ Boston #WebPerf Meetup / 2012-08-14 The Statistics of Web Performance Analysis 55
  • 65. Thank you Boston #WebPerf Meetup / 2012-08-14 The Statistics of Web Performance Analysis 56
  • 66. Photo credits • http://www.flickr.com/photos/leoffreitas/332360959/ by leoffreitas • http://www.flickr.com/photos/cobalt/56500295/ by cobalt123 • http://www.flickr.com/photos/sophistechate/4264466015/ by Lisa Brewster Boston #WebPerf Meetup / 2012-08-14 The Statistics of Web Performance Analysis 57
  • 67. List of figures • http://en.wikipedia.org/wiki/File:Standard_deviation_diagram.svg • http://en.wikipedia.org/wiki/File:Normal_Distribution_PDF.svg • http://en.wikipedia.org/wiki/File:KilroySchematic.svg • http://en.wikipedia.org/wiki/File:Boxplot_vs_PDF.png Boston #WebPerf Meetup / 2012-08-14 The Statistics of Web Performance Analysis 58