Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Days In Green (DIG):
Forecasting the life of a healthy service
Vibhav Garg, Arun Kejariwal
(@ativilambit, @arun_kejariwal)...
#WorldCup
[1] http://www.newsweek.com/twitter-us-soccer-what-radio-was-baseball-256336 (June 2014)
[1]
[1] http://www.telegraph.co.uk/technology/twitter/10912738/Wimbledon-goes-digital-with-Twitter.html (June 2014)
[1]
#Wimbl...
Internet trends
• Mobile-first
 25% of total web usage [1]
 Mobile data traffic: 81%, accelerating growth [1]
• Real-tim...
Capacity & Performance
• Organic growth
 Over 255M monthly active users [1]
• Evolving product landscape
• Handle Peak Tr...
Systematic Capacity Planning
• Objectives
 Check under-allocation
 Performance, Availability
o Adversely impact user exp...
Systematic Capacity Planning (contd.)
• Non-trivial
 Rapidly evolving product landscape
 Changes services’ performance p...
DIG: Days in Green
• Objective
 Statistically determine the # of days for which a service is expected to stay
healthy
• M...
DIG (contd.)
• Determining Capacity Thresholds
 Service specific
 Driving resource differs
 Load Test
 Canaries
 Repl...
DIG (contd.)
• Time Series Analysis
 Data collection
 Granularity
o Daily
• Long term forecast
o Which value?
• Close to...
DIG (contd.)
• Model fitting
 Linear
 Captures trend well
 Does not fit well for seasonal time series
 No weightage to...
DIG (contd.)
• Model fitting
 Polynomial
 Fits better than linear, not good for forecasting
 Seasonality unaware
VG, AK...
DIG (contd.)
• Model fitting
 Splines
 Widely used for curve fitting
 Tend to overfit data
 Not suitable for forecasti...
ARIMA
• Auto-Regressive Integrated Moving Average
 (p, d , q)
 Explicitly models seasonality and trend
 Applicable to n...
DIG (contd.)
• Model Fitting
 ARIMA in action
 Captures underlying trend
 Captures seasonality
 Are we good? Not quite...
• Time Series Characteristics
 Anomalies
 Positive
 Negative
VG, AK 16
Anomalies
DIG (contd.)
Breakout
• Time series characteristics
 Breakout
 Flavors
o Mean shift
o Ramp up
 Direction
o Positive, Negative
DIG (c...
• Time series characteristics
 Seasonality breaks
 Various reasons (but not limited to)
 Daily deployments
 Changes in...
VG, AK 19
• Curve fitting with ARIMA
 Trend and seasonality aware
 What does the DIG forecast look like?
Trend 1
Trend 2...
DIG (contd.)
• ARIMA Forecast
 Not a good forecast because of multiple trends and anomalies
 Wide confidence band
 40 D...
• ARIMA Forecast with breakout(s) eliminated
 35 Days In Green with a Confidence Band of 2-40
 Limitations
o Wide confid...
• ARIMA Forecast with Breakout and Anomaly eliminated
 25 Days In Green with a Confidence Band of 2-40
 Narrow confidenc...
• DIG Comparison
 With breakout and anomaly detection
DIG (contd.)
VG, AK 23
DIG
T
Raw
Raw - BO
Raw – BO- Anomaly
DIG (contd.)
VG, AK 24
• Discussion
 Boundary conditions
 False seasonality
T
DIG (contd.)
• Limitations
 “Quality” of data: Poor forecasts
VG, AK 25
T
• Limitations
 Idiosyncratic patterns: Poor forecasts
 Ongoing work!
VG, AK 26
DIG (contd.)
T
DIG (contd.)
VG, AK 27
• Current Status – Deployed in Production
 Hundreds of services
 Fully automated for CPU, extendi...
DIG (contd.)
VG, AK 28
• Anomaly Detection
 Algorithm developed in-house
 Presented at USENIX HotCloud’14[1]
[1] https:/...
Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Me...
Wrapping up & Lessons learned
• DIG: Days In Green
 Proactively assess future health of a service
 Modeling and forecast...
Acknowledgements
• Piyush Kumar, Capacity Engineer
• Winston Lee, Capacity Engineer
• Owen Vallis Jr & Jordan Hochenbaum, ...
Join the Flock
• We are hiring!!
 https://twitter.com/JoinTheFlock
 https://twitter.com/jobs
 Contact us: @ativilambit,...
You’ve finished this document.
Upcoming SlideShare
Design+Performance Velocity 2015
Next
Upcoming SlideShare
Design+Performance Velocity 2015
Next

Share

Days In Green : Forecasting the Life of a Healthy Service @Twitter

Days In Green : Forecasting the Life of a Healthy Service @Twitter

  1. 1. Days In Green (DIG): Forecasting the life of a healthy service Vibhav Garg, Arun Kejariwal (@ativilambit, @arun_kejariwal) Capacity and Performance Engineering @ Twitter June 2014
  2. 2. #WorldCup [1] http://www.newsweek.com/twitter-us-soccer-what-radio-was-baseball-256336 (June 2014) [1]
  3. 3. [1] http://www.telegraph.co.uk/technology/twitter/10912738/Wimbledon-goes-digital-with-Twitter.html (June 2014) [1] #Wimbledon2014
  4. 4. Internet trends • Mobile-first  25% of total web usage [1]  Mobile data traffic: 81%, accelerating growth [1] • Real-time [1] http://www.kpcb.com/file/kpcb-internet-trends-2014 (May 2014) VG, AK 4 #Selfie
  5. 5. Capacity & Performance • Organic growth  Over 255M monthly active users [1] • Evolving product landscape • Handle Peak Traffic  Mobile Busy Hour Is 66% Higher Than Average Hour in 2013, 83% by 2018 [2]  Events [1] https://investor.twitterinc.com/releasedetail.cfm?releaseid=843245 [2] http://www.cisco.com/c/en/us/solutions/collateral/service-provider/visual-networking-index-vni/white_paper_c11-520862.html VG, AK 5
  6. 6. Systematic Capacity Planning • Objectives  Check under-allocation  Performance, Availability o Adversely impact user experience  Check over-allocation  Operational efficiency o Adversely impacts bottom line  Check poor scalability • Approaches  Reactive  Adversely impact user experience  Proactive PoorUX Underutilization VG, AK 6
  7. 7. Systematic Capacity Planning (contd.) • Non-trivial  Rapidly evolving product landscape  Changes services’ performance profile  Organic growth • Scalable Approach  Service Oriented Architecture  100s of services  Millions of metrics [1,2]  Automated [1] http://strata.oreilly.com/2013/09/how-twitter-monitors-millions-of-time-series.html [2] http://strataconf.com/strata2014/public/schedule/detail/32431 VG, AK 7
  8. 8. DIG: Days in Green • Objective  Statistically determine the # of days for which a service is expected to stay healthy • Methodology  Determine driving resource  Determine capacity threshold T  Generate a time series and forecast  DIG - # days before the service is expected to exceed T VG, AK 8 Time DrivingResource DIG T
  9. 9. DIG (contd.) • Determining Capacity Thresholds  Service specific  Driving resource differs  Load Test  Canaries  Replay production traffic  Examples  CPU at 70%  Disk utilization at, 80%  RPS at X requests/sec VG, AK 9 SLA T CPU Latency
  10. 10. DIG (contd.) • Time Series Analysis  Data collection  Granularity o Daily • Long term forecast o Which value? • Close to the daily peak but low standard deviation (σ) o Assume 7 day seasonality  Duration o 30-90 days  Model fitting  Forecast VG, AK 10 Percentile Duration Mean σ 100 (Max) 57.7 3.29 99 14.4 mins 54.7 2.49 95 72 mins 53.1 2.4
  11. 11. DIG (contd.) • Model fitting  Linear  Captures trend well  Does not fit well for seasonal time series  No weightage to recent data VG, AK 11 R2 = 0.56
  12. 12. DIG (contd.) • Model fitting  Polynomial  Fits better than linear, not good for forecasting  Seasonality unaware VG, AK 12 R2 = 0.62
  13. 13. DIG (contd.) • Model fitting  Splines  Widely used for curve fitting  Tend to overfit data  Not suitable for forecasting  Triple Exponential Smoothing (Holt Winters)  Good for fit and forecasting  Trend and seasonality modeled implicitly • ARIMA VG, AK 13
  14. 14. ARIMA • Auto-Regressive Integrated Moving Average  (p, d , q)  Explicitly models seasonality and trend  Applicable to non-stationary time series  Worst Case degenerates to linear fit Autoregressive component Moving Average component Moving Average order Integrated order Autoregressive order VG, AK 14
  15. 15. DIG (contd.) • Model Fitting  ARIMA in action  Captures underlying trend  Captures seasonality  Are we good? Not quite! VG, AK 15 Forecast
  16. 16. • Time Series Characteristics  Anomalies  Positive  Negative VG, AK 16 Anomalies DIG (contd.)
  17. 17. Breakout • Time series characteristics  Breakout  Flavors o Mean shift o Ramp up  Direction o Positive, Negative DIG (contd.) VG, AK 17
  18. 18. • Time series characteristics  Seasonality breaks  Various reasons (but not limited to)  Daily deployments  Changes in traffic  Collection issues Seasonality Breaks VG, AK 18 DIG (contd.)
  19. 19. VG, AK 19 • Curve fitting with ARIMA  Trend and seasonality aware  What does the DIG forecast look like? Trend 1 Trend 2 DIG (contd.) Anomaly T Breakout
  20. 20. DIG (contd.) • ARIMA Forecast  Not a good forecast because of multiple trends and anomalies  Wide confidence band  40 Days In Green with Confidence band of 10-40 VG, AK 20 95%confidenceband T DIG
  21. 21. • ARIMA Forecast with breakout(s) eliminated  35 Days In Green with a Confidence Band of 2-40  Limitations o Wide confidence band o Susceptible to anomalies VG, AK 21 DIG (contd.) T DIG
  22. 22. • ARIMA Forecast with Breakout and Anomaly eliminated  25 Days In Green with a Confidence Band of 2-40  Narrow confidence band  Improved Accuracy VG, AK 22 DIG (contd.) T DIG
  23. 23. • DIG Comparison  With breakout and anomaly detection DIG (contd.) VG, AK 23 DIG T Raw Raw - BO Raw – BO- Anomaly
  24. 24. DIG (contd.) VG, AK 24 • Discussion  Boundary conditions  False seasonality T
  25. 25. DIG (contd.) • Limitations  “Quality” of data: Poor forecasts VG, AK 25 T
  26. 26. • Limitations  Idiosyncratic patterns: Poor forecasts  Ongoing work! VG, AK 26 DIG (contd.) T
  27. 27. DIG (contd.) VG, AK 27 • Current Status – Deployed in Production  Hundreds of services  Fully automated for CPU, extending to other metrics  DR Compliance  Combine data from multiple datacenters  Detect services that are close to DR threshold • Future Work  Utilization Based Allocation
  28. 28. DIG (contd.) VG, AK 28 • Anomaly Detection  Algorithm developed in-house  Presented at USENIX HotCloud’14[1] [1] https://www.usenix.org/conference/hotcloud14/workshop-program/presentation/vallis
  29. 29. Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466%Mean Shift: 105.466% DIG (contd.) VG, AK 29 • Breakout Detection  Algorithm developed in-house  To be presented at Velocity New York’14 [1] [1] http://velocityconf.com/velocityny2014/public/schedule/detail/35485
  30. 30. Wrapping up & Lessons learned • DIG: Days In Green  Proactively assess future health of a service  Modeling and forecasting: ARIMA  Anomaly and Breakout removal • Modeling  Hard to get a stable time series  Organic growth, New products, Behavioral aspect  Exploring advanced data cleansing techniques  Improve Breakout and Anomaly Detection VG, AK 30
  31. 31. Acknowledgements • Piyush Kumar, Capacity Engineer • Winston Lee, Capacity Engineer • Owen Vallis Jr & Jordan Hochenbaum, Ex Interns • Nicholas James, Intern • Management team VG, AK 31
  32. 32. Join the Flock • We are hiring!!  https://twitter.com/JoinTheFlock  https://twitter.com/jobs  Contact us: @ativilambit, @arun_kejariwal Like problem solving? Like challenges? Be at cutting Edge Make an impact VG, AK 32
  • JordiCosta3

    Aug. 12, 2015
  • cbogeberg

    Sep. 9, 2014
  • jlusdy

    Jul. 15, 2014
  • tanbamboo

    Jul. 4, 2014
  • jamestong

    Jul. 3, 2014

Views

Total views

1,949

On Slideshare

0

From embeds

0

Number of embeds

105

Actions

Downloads

0

Shares

0

Comments

0

Likes

5

×