A Reproducible Method for Offensive Player Evaluation in Football

Similar documents
NFL Player Evaluation Using Expected Points Added with nflscrapr

Evaluating NFL plays: Expected points adjusted for schedule

Building an NFL performance metric

Rating Player Performance - The Old Argument of Who is Bes

Player Lists Explanation

2017 PFF RUSHING REPORT

Apple Device Instruction Guide- High School Game Center (HSGC) Football Statware

This is Not a Game Economics and Sports

The factors affecting team performance in the NFL: does off-field conduct matter? Abstract

Inside Blitz Rule Additions and Optional Rules January 2006

Modeling Fantasy Football Quarterbacks

Tampa Bay. Buccaneers Recap

SFFL Fantasy Football Rulebook Effective Date: 8/17/2018

EC 250 Second lecture Outline: 1. Complete team sign-up 2. Team assignment 3. Logistics of FFL 4. League constitution

Offense Plays. Motion Out

The probability of winning a high school football game.

Football 101. Basic Functions of a Football Team

Our Shining Moment: Hierarchical Clustering to Determine NCAA Tournament Seeding

Basic Flag Football Coaching Strategies & Tips

Name May 3, 2007 Math Probability and Statistics

2014 fantasy football rankings preseason top Fantasy football rankings of the top 300 players for the 2014 NFL season.

arxiv: v1 [stat.ap] 18 Oct 2018

Guide for Statisticians

NCAA Football Statistics Summary

Punch Drunk Wonderland Official Rules

c. Smoking/Vaping: The KFFSC Draft will be a non-smoking & non-vaping event.

RULE BOOK FOR THE FIRST FRIENDS CHURCH ALL OUT FLAG FOOTBALL PROGRAM

General Rules. 5. Roster Checks Roster checks are mandatory during playoff games. 6. RAIN OUTS - SEE WEATHER POLICY

3.0. GSIS 3.1 Release Notes. NFL GSIS Support: (877) (212)

Check here if you're new to football, having a difficult time following the games or if you just need to look up some terms.

Journal of Quantitative Analysis in Sports Manuscript 1039

COMPLETING THE RESULTS OF THE 2013 BOSTON MARATHON

PREDICTING THE NCAA BASKETBALL TOURNAMENT WITH MACHINE LEARNING. The Ringer/Getty Images

Pass Protection Manual

Mesa Public Schools Junior High Athletics 7 on 7 Flag Football Rules

Chapter 12 Practice Test

Team Offense Card. Team Defense Card. Placekicker. Punter. Kickoff. Punt and Kickoff Return

Predicting the Total Number of Points Scored in NFL Games

OFFENSE WR LT LG C RG RT TE WR QB RB FB 3WR/2TE OTHER 9/8 at Ind. Moore Barnes Nix Wisniewski Brisiel Pashos Mastrud Streater Pryor McFadden Reece

SPORTSCIENCE sportsci.org

Department of Economics Working Paper

The GAONFL Rules, 2015 Ed. September 2015 THE GAONFL RULES

HOSTING DISTRICT/PLAYOFF GAMES:

9/22, 9/29, 10/6, 10/13,

HOSTING DISTRICT/PLAYOFF GAMES:

Evaluating the Performance of Offensive Linemen in the NFL

Saturday, November 4, Alabama Football vs. LSU Postgame Quotes

Fantasy Football 2018 Rules

Modelling Exposure at Default Without Conversion Factors for Revolving Facilities

Rules Unique to Lake Pointe Flag Football

Football Play Type Prediction and Tendency Analysis

Estimating the Probability of Winning an NFL Game Using Random Forests

GSIS Video Director s Report ASCII File Layout 2013 Season

I Want To Be In Las Vegas Rules

OFFICIAL RULES - FALL 2018

Should bonus points be included in the Six Nations Championship?

Evaluating The Best. Exploring the Relationship between Tom Brady s True and Observed Talent

Premier Flag Football Rules

Predicting the Draft and Career Success of Tight Ends in the National Football League

Gorham Recreation Flag Football Activity Plan, Grades 1 & 2

MONEYBALL. The Power of Sports Analytics The Analytics Edge

RULE BOOK FOR REDZONE FLAG FOOTBALL -CHAMPION 03/18/2017 THE ATTIRE RULES

Predicting Results of March Madness Using the Probability Self-Consistent Method

RVA NFL Flag Football Flag Rules Summary

Rules And How To Player Fantasy Football Nfl Comparison Tool 2012

Section I: Multiple Choice Select the best answer for each problem.

Predicting the use of the sacrifice bunt in Major League Baseball BUDT 714 May 10, 2007

2014 Official Elementary Flag Football Rules 9 vs. 9

Section I. Field of Play

DakStats Football Quick Start Guide 1 of 7

SUMMER NIGHTS 18 FLAG FOOTBALL RULES

PRFB Modified Rookie Tackle Football

FLAG FOOTBALL OFFICIAL RULES (REVISED )

2015 NNFOA PRE SEASON STUDY QUESTIONS

Play 4 Fun Sports. NFL Youth Flag Football Program Rules

Quick Start Guide. Quick Start Guide

Game Format. High School 7 v 7 Game Format ONE HAND TOUCH (OPTIONAL 7th-8th Grade Division only but will not qualify for the National Tournament.

2016 AzMERIT and Historical Trend Data

SUBURBAN FANTASY FOOTBALL LEAGUE 2009 SEASON - OFFICIAL RULES HANDBOOK

An Examination of Decision-Making Biases on Fourth Down in The National Football League. Weller Ross, B.S. Sport Management

University of Groningen. Statistical thinking in sports Koning, Ruud; J. Albert (eds.), [No Value]

FALCONS HEAD COACH MIKE SMITH

Effects of Traffic Signal Retiming on Safety. Peter J. Yauch, P.E., PTOE Program Manager, TSM&O Albeck Gerken, Inc.

K - 8th Grade Rules: Mini, JR, SR, Varsity Flag Football Fanatics Operates Under a ZERO Tolerance Policy.

TUDOR GAMES 2017 ELECTRIC FOOTBALL OPEN RULES TOURNAMENT FORMAT

FBT FLAG FOOTBALL GAME DAY EXPERIENCE end zone NOTE: Coaches, keep your players belts and wristbands after practices and games. the breakaway banner

Last Revised 5/27/2018

ISDS 4141 Sample Data Mining Work. Tool Used: SAS Enterprise Guide

2017 NWRAA Flag Football Rules

Flag Football Rules. The Basics

BGC PRINCE WILLIAM/MANASSAS FLAG FOOTBALL RULES

STAT-O-MATIC FOOTBALL

INTRODUCTION Page 2 SETTINGS

A Bayesian Hierarchical Model of Pitch Framing in Major League Baseball

Announcements. Lecture 19: Inference for SLR & Transformations. Online quiz 7 - commonly missed questions

GENERAL RULES & GUIDELINES FOR IM 4v4 FLAG FOOTBALL

Examining NBA Crunch Time: The Four Point Problem. Abstract. 1. Introduction

The Complete 5 Step Pass Game In The Pistol. By: James Vint

Texas Charter School Academic & Athletic League. 7-Man Screen Flag Football (No Contact) - Game Rules Edition

Powerpoint works well, but some Coaches use Microsoft Word or just hand draw.

Transcription:

nflwar: A Reproducible Method for Offensive Player Evaluation in Football Ron Yurko Sam Ventura Max Horowitz Department of Statistics Carnegie Mellon University NESSIS, 2017 Ron Yurko (@Stat Ron) nflwar NESSIS, 2017 1 / 36

Reproducible Research with nflscrapr Recent work in football analytics is not easily reproducible: Reliance on proprietary and costly data sources Data quality relies on potentially biased human judgement Ron Yurko (@Stat Ron) nflwar NESSIS, 2017 2 / 36

Reproducible Research with nflscrapr Recent work in football analytics is not easily reproducible: Reliance on proprietary and costly data sources Data quality relies on potentially biased human judgement nflscrapr: R package created by Maksim Horowitz to enable easy data access and promote reproducible NFL research Collects play-by-play data from NFL.com and formats into R data frames Data is available for all games starting in 2009 Available on Github, install with: devtools::install github(repo=maksimhorowitz/nflscrapr) Ron Yurko (@Stat Ron) nflwar NESSIS, 2017 2 / 36

Pittsburgh Fans React Pittsburgh Post-Gazette article by Liz Bloom covered recent nflscrapr research and status of statistics in football Ron Yurko (@Stat Ron) nflwar NESSIS, 2017 3 / 36

Pittsburgh Fans React Pittsburgh Post-Gazette article by Liz Bloom covered recent nflscrapr research and status of statistics in football And the comments... Ron Yurko (@Stat Ron) nflwar NESSIS, 2017 3 / 36

Another Comment... Ron Yurko (@Stat Ron) nflwar NESSIS, 2017 4 / 36

Tremendous Insight! Recognizes the key flaws of raw football statistics: Moving parts in every play Need to assign credit to each player involved in a play Ultimately evaluate players in terms of wins Using nflscrapr we introduce nflwar for offensive players: Reproducible framework for wins above replacement Ron Yurko (@Stat Ron) nflwar NESSIS, 2017 5 / 36

Goals of nflwar Properly evaluate every play Assign individual player contribution on each play Evaluate relative to replacement level Convert to a wins scale Estimate the uncertainty in WAR Apply this framework to each available season, 2009-2016 Ron Yurko (@Stat Ron) nflwar NESSIS, 2017 6 / 36

How to Value Plays? Expected Points (EP): Value of play is in terms of E(points of next scoring play) How many points have teams scored when in similar situations? Several ways to model this Win Probability (WP): Value of play is in terms of P(Win) Have teams in similar situations won the game? Common approach is logistic regression Can apply nflwar framework to both, but will focus on EP today Ron Yurko (@Stat Ron) nflwar NESSIS, 2017 7 / 36

How to Calculate EP? Response: Y {Touchdown (7), Field Goal (3), Safety (2), -Touchdown (-7), -Field Goal (-3), -Safety (-2), No Score (0)} Covariates: X = {down, yards to go, yard line,...} Nearest Neighbors : Identify similar plays in historical data based on down, yards to go, yard line, etc. and take the average Ron Yurko (@Stat Ron) nflwar NESSIS, 2017 8 / 36

How to Calculate EP? Response: Y {Touchdown (7), Field Goal (3), Safety (2), -Touchdown (-7), -Field Goal (-3), -Safety (-2), No Score (0)} Covariates: X = {down, yards to go, yard line,...} Nearest Neighbors : Identify similar plays in historical data based on down, yards to go, yard line, etc. and take the average But what defines a similar play? Ron Yurko (@Stat Ron) nflwar NESSIS, 2017 8 / 36

How to Calculate EP? Response: Y {Touchdown (7), Field Goal (3), Safety (2), -Touchdown (-7), -Field Goal (-3), -Safety (-2), No Score (0)} Covariates: X = {down, yards to go, yard line,...} Nearest Neighbors : Identify similar plays in historical data based on down, yards to go, yard line, etc. and take the average But what defines a similar play? Linear Regression: E(Y X ) = β 0 + β 1 X down + β 2 X yards to go +... Ron Yurko (@Stat Ron) nflwar NESSIS, 2017 8 / 36

How to Calculate EP? Response: Y {Touchdown (7), Field Goal (3), Safety (2), -Touchdown (-7), -Field Goal (-3), -Safety (-2), No Score (0)} Covariates: X = {down, yards to go, yard line,...} Nearest Neighbors : Identify similar plays in historical data based on down, yards to go, yard line, etc. and take the average But what defines a similar play? Linear Regression: E(Y X ) = β 0 + β 1 X down + β 2 X yards to go +... But is treating the next score as continuous appropriate? Ron Yurko (@Stat Ron) nflwar NESSIS, 2017 8 / 36

Distribution of Next Score Ron Yurko (@Stat Ron) nflwar NESSIS, 2017 9 / 36

Linear Regression Approach... What are the assumptions of linear regression? ɛ i N(0, σ 2 ) (iid) Ron Yurko (@Stat Ron) nflwar NESSIS, 2017 10 / 36

Linear Regression Approach... IS A DISASTER! What are the assumptions of linear regression? ɛ i N(0, σ 2 ) (iid) Ron Yurko (@Stat Ron) nflwar NESSIS, 2017 11 / 36

Multinomial Logistic Regression Logistic regression to model the probabilities of Y {Touchdown (7), Field Goal (3), Safety (2), -Touchdown (-7), -Field Goal (-3), -Safety (-2), No Score (0)} Specified with 6 logit transformations relative to No Score: P(Y = Touchdown X = x) log( P(Y = No Score X = x) ) = β 10 + β1 T x P(Y = Field Goal X = x) log( P(Y = No Score X = x) ) = β 20 + β2 T x log(. P(Y = Touchdown X = x) ) = β 60 + β6 T x P(Y = No Score X = x) Ron Yurko (@Stat Ron) nflwar NESSIS, 2017 12 / 36

Multinomial Logistic Regression Model is generating probabilities, agnostic of value associated with each next score type Next Score: Y {Touchdown (7), Field Goal (3), Safety (2), No Score (0), -Safety (-2), -Field Goal (-3), -Touchdown (-7)} Situation: X = {down, yards to go, yard line,...} Outcome probabilities: P(Y = y X ) Expected Points (EP) = E(Y X ) = y P(Y = y X ) y Ron Yurko (@Stat Ron) nflwar NESSIS, 2017 13 / 36

Expected Points Added Expected Points Added (EPA) estimates a play s value based on the change in situation, providing a point value EPA playi = EP playi+1 EP playi Ron Yurko (@Stat Ron) nflwar NESSIS, 2017 14 / 36

Expected Points Added Expected Points Added (EPA) estimates a play s value based on the change in situation, providing a point value EPA playi = EP playi+1 EP playi For passing plays can use air yards to calculate airepa and yacepa (yards after catch EPA): airepa playi yacepa playi = EP in air playi EP start playi = EP playi+1 EP in air playi Ron Yurko (@Stat Ron) nflwar NESSIS, 2017 14 / 36

Expected Points Added Expected Points Added (EPA) estimates a play s value based on the change in situation, providing a point value EPA playi = EP playi+1 EP playi For passing plays can use air yards to calculate airepa and yacepa (yards after catch EPA): airepa playi yacepa playi = EP in air playi EP start playi = EP playi+1 EP in air playi But how much credit does each player deserve? e.g. On a pass play, how much credit does a QB get vs the receiver? One player is not solely responsible for a play s EPA Ron Yurko (@Stat Ron) nflwar NESSIS, 2017 14 / 36

How to Allocate EPA? Using proprietary, manually collected data, Total QBR (Oliver et al., 2011) divides credit between those involved in passing plays Ron Yurko (@Stat Ron) nflwar NESSIS, 2017 15 / 36

How to Allocate EPA? Using proprietary, manually collected data, Total QBR (Oliver et al., 2011) divides credit between those involved in passing plays Publicly available data only includes those directly involved: Passing: Individuals: passer, target receiver, tackler(s), interceptor Context: air yards, yards after catch, location, and if the passer was hit on the play Rushing: Individuals: rusher and tackler(s) Context: run gap and location Ron Yurko (@Stat Ron) nflwar NESSIS, 2017 15 / 36

Multilevel Modeling Growing in popularity (and rightfully so): Multilevel Regression as Default - Richard McElreath Natural approach for data with group structure, and different levels of variation within each group e.g. QBs have more pass attempts than receivers have targets Every play is a repeated measure of performance Baseball example: Deserved Run Average (Judge et al., 2015) Ron Yurko (@Stat Ron) nflwar NESSIS, 2017 16 / 36

Multilevel Modeling Key feature is the groups are given a model - treating the levels of groups as similar to one another with partial pooling Simple example of varying-intercept model: EPA i N(QB j[i] + REC k[i] + βx i, σepa 2 ), for i = 1,..., # of plays, QB j Normal(µ QB, σqb 2 ), for j = 1,..., # of QBs, REC k Normal(µ REC, σrec 2 ), for k = 1,..., # of Receivers Ron Yurko (@Stat Ron) nflwar NESSIS, 2017 17 / 36

Multilevel Modeling Key feature is the groups are given a model - treating the levels of groups as similar to one another with partial pooling Simple example of varying-intercept model: EPA i N(QB j[i] + REC k[i] + βx i, σepa 2 ), for i = 1,..., # of plays, QB j Normal(µ QB, σqb 2 ), for j = 1,..., # of QBs, REC k Normal(µ REC, σrec 2 ), for k = 1,..., # of Receivers Unlike linear regression, no longer assuming independence Provides estimates for average play effects while providing necessary shrinkage towards the group averages Ron Yurko (@Stat Ron) nflwar NESSIS, 2017 17 / 36

nflwar Modeling Use varying-intercepts for each of the grouped variables With location and gap, create Team-side-gap as O-line proxy e.g. PIT-left-end, PIT-left-guard, PIT-middle Separate passing and rushing with different grouped variables Passing: Offensive team, QB, receiver, defensive team Rushing: Team-side-gap, rusher, defensive team Ron Yurko (@Stat Ron) nflwar NESSIS, 2017 18 / 36

nflwar Modeling Use varying-intercepts for each of the grouped variables With location and gap, create Team-side-gap as O-line proxy e.g. PIT-left-end, PIT-left-guard, PIT-middle Separate passing and rushing with different grouped variables Passing: Offensive team, QB, receiver, defensive team Rushing: Team-side-gap, rusher, defensive team Each individual intercept for player groups is an estimate for a player s effect, individual points added (ipa) Intercepts for team groups are team points added (tpa) Multiply ipa/tpa by attempts to get individual/team points above average (ipaa/tpaa) Ron Yurko (@Stat Ron) nflwar NESSIS, 2017 18 / 36

Rushing Breakdown With EPA as the response, two separate models: RB/FB/WR/TE - designed rushing plays Adjust for rusher position as non-grouped variable QB - designed runs, scrambles, and sacks Replace Team-side-gap with offensive team Provides ipa rush and tpa rush side gap estimates Ron Yurko (@Stat Ron) nflwar NESSIS, 2017 19 / 36

Group Variation for RB/FB/WR/TE Rushing Model Ron Yurko (@Stat Ron) nflwar NESSIS, 2017 20 / 36

Group Variation for QB Rushing Model Ron Yurko (@Stat Ron) nflwar NESSIS, 2017 21 / 36

Which Teams Ran Efficiently in 2016? Ron Yurko (@Stat Ron) nflwar NESSIS, 2017 22 / 36

Passing Breakdown Could simply use EPA, or take advantage of air yards Two separate models for airepa and yacepa, where both models consider all pass attempts but the response depends on the model: Receptions assigned airepa and yacepa for respective models Incomplete passes use observed EPA Emphasize importance of completions Both adjust for QBs hit, receiver positions, and pass location yacepa model adjusts for air yards Provides ipa air and ipa yac estimates Ron Yurko (@Stat Ron) nflwar NESSIS, 2017 23 / 36

Variation of Passing Intercepts (airepa) Ron Yurko (@Stat Ron) nflwar NESSIS, 2017 24 / 36

Variation of Passing Intercepts (yacepa) Ron Yurko (@Stat Ron) nflwar NESSIS, 2017 25 / 36

Passing Efficiency in 2016 Ron Yurko (@Stat Ron) nflwar NESSIS, 2017 26 / 36

Relative to Replacement Level Following an approach similar to openwar (Baumer et al., 2015), defining replacement level based on roster For each team and position sort by number of attempts (separate RB/FB replacement level for rushing and receiving) Ron Yurko (@Stat Ron) nflwar NESSIS, 2017 27 / 36

Relative to Replacement Level Following an approach similar to openwar (Baumer et al., 2015), defining replacement level based on roster For each team and position sort by number of attempts (separate RB/FB replacement level for rushing and receiving) Player i s ipaa i,total = ipaa i,rush + ipaa i,air + ipaa i,yac Creates a replacement-level ipaa that shadows a player s performance, denote as ipaa replacement i Player i s individual points above replacement (ipar) as: ipar i = ipaa i,total ipaa replacement i,total Ron Yurko (@Stat Ron) nflwar NESSIS, 2017 27 / 36

Convert to Wins Wins & Point Differential in the NFL - (Zhou & Ventura, 2017) (CMU Statistics & Data Science freshman research project) Ron Yurko (@Stat Ron) nflwar NESSIS, 2017 28 / 36

WAR! Fit a linear regression between wins and total score differential: Points per Win = 1 ˆβ Score Diff e.g. In 2016 ˆβ Score Diff = 0.0319, roughly 31 points per win Ron Yurko (@Stat Ron) nflwar NESSIS, 2017 29 / 36

WAR! Fit a linear regression between wins and total score differential: Points per Win = 1 ˆβ Score Diff e.g. In 2016 ˆβ Score Diff = 0.0319, roughly 31 points per win and finally arrive at wins above replacement (WAR): WAR = ipar Points per Win Ron Yurko (@Stat Ron) nflwar NESSIS, 2017 29 / 36

QB WAR in 2016 Ron Yurko (@Stat Ron) nflwar NESSIS, 2017 30 / 36

RB WAR in 2016 Ron Yurko (@Stat Ron) nflwar NESSIS, 2017 31 / 36

TE WAR in 2016 Ron Yurko (@Stat Ron) nflwar NESSIS, 2017 32 / 36

WR WAR in 2016 Ron Yurko (@Stat Ron) nflwar NESSIS, 2017 33 / 36

Recap and Future of nflwar Properly evaluating every play with EPA generated with multinomial logistic regression model Multilevel modeling provides an intuitive way for estimating player effects and can be extended with data containing every player on the field for every play Ron Yurko (@Stat Ron) nflwar NESSIS, 2017 34 / 36

Recap and Future of nflwar Properly evaluating every play with EPA generated with multinomial logistic regression model Multilevel modeling provides an intuitive way for estimating player effects and can be extended with data containing every player on the field for every play Naive to assume player has same effect for every play! Need to estimate the uncertainty in the different types of ipa to generate intervals of WAR values Refine the definition of replacement-level, e.g. what about down specific players? Ron Yurko (@Stat Ron) nflwar NESSIS, 2017 34 / 36

Carnegie Mellon Sports Analytics Conference Clear your calendars for Oct 28th! And visit www.cmusportsanalytics.com/conference for more information! #CMSAC Ron Yurko (@Stat Ron) nflwar NESSIS, 2017 35 / 36

Acknowledgements Max Horowitz for creating nflscrapr Sam Ventura for advising every step in the process Jonathan Judge for answering questions on multilevel modeling Rebecca Nugent and CMU Statistics and Data Science for all of their instruction, motivation, and support! Ron Yurko (@Stat Ron) nflwar NESSIS, 2017 36 / 36

References I [Gelman and Hill, 2007]. [Baumer et al., 2015]. [Oliver, ]. [Hastie et al., 2009]. [Carroll et al., 1998]. [Pasteur and David, 2017]. [Goldner, 2017]. [Berri and Burke, 2017]. [Carter and Machol, 1971]. [Burke, ]. [out, ]. [num, ]. Football outsiders. numberfire. Baumer, B., Jensen, S., and Matthews, G. (2015). openwar: An open source system for evaluating overall player performance in major league baseball. Journal of Quantitative Analysis in Sports, 11(2). Ron Yurko (@Stat Ron) nflwar NESSIS, 2017 1 / 4

References II Berri, D. and Burke, B. (2017). Measuring productivity of nfl players. In Quinn, K., editor, The Economics of the National Football League, pages 137 158. Springer, New York, New York. Burke, B. Advanced football analytics. Carroll, B., Palmer, P., Thorn, J., and Pietrusza, D. (1998). The Hidden Game of Football: The Next Edition. Total Sports, Inc., New York, New York. Carter, V. and Machol, R. (1971). Operations research on football. Operations Research, 19(2):541 544. Ron Yurko (@Stat Ron) nflwar NESSIS, 2017 2 / 4

References III Gelman, A. and Hill, J. (2007). Data Analysis Using Regression and Multilevel/Hierarchical Models. Cambridge University Press, Cambridge, United Kingdom. Goldner, K. (2017). Situational success: Evaluating decision-making in football. In Albert, J., Glickman, M. E., Swartz, T. B., and Koning, R. H., editors, Handbook of Statistical Methods and Analyses in Sports, pages 183 198. CRC Press, Boca Raton, Florida. Hastie, T., Tibshirani, R., and Friedman, J. (2009). The Elements of Statistical Learning: Data Mining, Inference, and Prediction. Springer, New York, New York. Ron Yurko (@Stat Ron) nflwar NESSIS, 2017 3 / 4

References IV Oliver, D. Guide to the total quarterback rating. Pasteur, R. D. and David, J. A. (2017). Evaluation of quarterbacks and kickers. In Albert, J., Glickman, M. E., Swartz, T. B., and Koning, R. H., editors, Handbook of Statistical Methods and Analyses in Sports, pages 165 182. CRC Press, Boca Raton, Florida. Ron Yurko (@Stat Ron) nflwar NESSIS, 2017 4 / 4