Who is the best passer in MLS? Debuting an Expected Pass Completion Model
/By Jared Young (@jaredeyoung)
Javier Morales of Real Salt Lake had completed 82.3% of his passes before last weekend. Chad Marshall completed 84.4% of his passes for the Seattle Sounders. Gyasi Zardes has a 66.1% pass completion percentage. Is any of this good? Which player is a better passer? Fans are smart enough to know they can’t compare those numbers directly because Morales and Zardes play attacking roles and Marshall is a defender and will face pressure less often.
Looking at pass completion percentages without context is a fool's errand. To address this issue I built a model that predicts the likelihood that a given pass will be completed. The effect is that the difficulty of the pass - including position on the field, part of body used, whether it was backwards, etc – can be factored into this expectation. With this model we can observe whether or not a player passes more or less effectively than an average passer, adjusting for the difficulty of the pass.
The dataset used for the model includes almost 308,000 passes attempted during the 2015 MLS season. I split the passes randomly into a training dataset with 70% of the passes and a test dataset with 30% of the passes. I also built three different models to address differences I observed in the defensive and offensive areas.
Below is a validation of the model on the test dataset by pass completion percentage decile.
Perhaps more important for a model of this kind is a view of how it validates across the pitch. Below is the difference between forecast and actuals broken into 50 different sections of the pitch. The defensive end is to the left and the offensive end is to the right.
The model predicts pass completion percentage on this sample within 2% in 43 areas of the pitch. There are six more that range between 3-5% and there is one problematic area right in front of the goal. The model under predicts passes completion by 16% in that area. My hypothesis is that if a player find himself in that position in front of the goal the first inclination would be to shoot. If they chose to pass it is likely because a pass was the more obvious choice due to the positioning of the defense. Therefore, a pass in that zone will be completed more often. Only a more refined model specifically in that zone might be able to figure that out.
Let’s get back to our questions: Who is a better passer - Morales, Zardes, or Marshall? Is Zardes a good passer at all? Reference the full table below but the quick answers are: Morales has been the most efficient passer in the league this season. His expected pass completion percentage is 69.1%, so he is generally attempted pretty difficult passes. On the other hand Chad Marshall’s passes are much less difficult as his expected pass completion percentage is 81.2% He’s still a better than expected passer, but not in the category of Javier Morales, which of course is to be expected.
Zardes is also a decent passer as his expected pass completion percentage is 64.3%. Nothing earth shattering but these examples show the model is differentiating passers as fans might expect.
It’s always fun to look at the bad passers too. Alvas Powell scores as the worst passer who is not a goalkeeper. Didier Drogba is on the list as well. His pass completion percentage is 6.2% worse than expected. Heralded rookie Brandon Vincent is also struggling with a -5.0% difference.
Below is the complete list of passers with more than 200 passes attempted this year. It needs to be pointed out that passes are being completed at a higher rate in 2016 compared to 2015 so overall there are more players with a positive score than a negative one. That could be a sign the league is improving, or a sign defenses are less aggressive.
Thanks to @KevinMinkus for much help bringing this model to life.
Player | Team | PassCompletion% | xPassCompletion% | PC% - xPC% | Passes |
---|---|---|---|---|---|
0.823 | 0.691 | 965 | | ||
0.817 | 0.696 | 518 | | ||
0.845 | 0.725 | 647 | | ||
0.798 | 0.688 | 633 | | ||
0.748 | 0.647 | 448 | | ||
0.681 | 0.583 | 317 | | ||
0.775 | 0.68 | 512 | | ||
0.806 | 0.711 | 510 | | ||
0.888 | 0.798 | 205 | | ||
0.819 | 0.73 | 750 | | ||
0.879 | 0.791 | 672 | | ||
0.769 | 0.682 | 334 | | ||
0.834 | 0.748 | 259 | | ||
0.858 | 0.773 | 330 | | ||
0.878 | 0.794 | 723 | | ||
0.856 | 0.772 | 291 | | ||
0.799 | 0.718 | 288 | | ||
0.838 | 0.76 | 766 | | ||
0.826 | 0.748 | 821 | | ||
0.897 | 0.821 | 716 | | ||
0.909 | 0.836 | 1350 | | ||
0.724 | 0.655 | 492 | | ||
0.824 | 0.756 | 501 | | ||
0.711 | 0.644 | 519 | | ||
0.784 | 0.719 | 435 | | ||
0.777 | 0.714 | 485 | | ||
0.792 | 0.729 | 986 | | ||
0.784 | 0.722 | 1091 | | ||
0.738 | 0.677 | 351 | | ||
0.76 | 0.699 | 878 | | ||
0.754 | 0.693 | 609 | | ||
0.737 | 0.678 | 609 | | ||
0.749 | 0.691 | 513 | | ||
0.867 | 0.81 | 871 | | ||
0.77 | 0.714 | 365 | | ||
0.85 | 0.795 | 499 | | ||
0.82 | 0.766 | 334 | | ||
0.789 | 0.735 | 550 | | ||
0.665 | 0.612 | 573 | | ||
0.749 | 0.696 | 622 | | ||
0.682 | 0.629 | 924 | | ||
0.783 | 0.732 | 281 | | ||
0.76 | 0.709 | 512 | | ||
0.843 | 0.793 | 502 | | ||
0.874 | 0.825 | 1341 | | ||
0.77 | 0.722 | 512 | | ||
0.527 | 0.48 | 330 | | ||
0.778 | 0.732 | 257 | | ||
0.636 | 0.59 | 434 | | ||
0.763 | 0.717 | 207 | | ||
0.804 | 0.758 | 489 | | ||
0.787 | 0.741 | 506 | | ||
0.853 | 0.807 | 468 | | ||
0.771 | 0.726 | 676 | | ||
0.806 | 0.761 | 800 | | ||
0.802 | 0.758 | 1057 | | ||
0.785 | 0.742 | 744 | | ||
0.838 | 0.796 | 557 | | ||
0.851 | 0.81 | 934 | | ||
0.836 | 0.795 | 250 | | ||
0.74 | 0.699 | 319 | | ||
0.824 | 0.783 | 693 | | ||
0.85 | 0.809 | 320 | | ||
0.797 | 0.758 | 301 | | ||
0.857 | 0.818 | 894 | | ||
0.729 | 0.69 | 328 | | ||
0.811 | 0.773 | 392 | | ||
0.89 | 0.852 | 670 | | ||
0.816 | 0.78 | 641 | | ||
0.827 | 0.791 | 676 | | ||
0.848 | 0.812 | 369 | | ||
0.821 | 0.787 | 804 | | ||
0.849 | 0.815 | 522 | | ||
0.746 | 0.712 | 236 | | ||
0.817 | 0.783 | 940 | | ||
0.805 | 0.772 | 945 | | ||
0.841 | 0.809 | 403 | | ||
0.718 | 0.685 | 280 | | ||
0.84 | 0.808 | 506 | | ||
0.844 | 0.812 | 733 | | ||
0.758 | 0.727 | 542 | | ||
0.883 | 0.852 | 635 | | ||
0.851 | 0.82 | 376 | | ||
0.836 | 0.805 | 1054 | | ||
0.685 | 0.654 | 489 | | ||
0.806 | 0.776 | 588 | | ||
0.817 | 0.789 | 805 | | ||
0.827 | 0.798 | 1271 | | ||
0.692 | 0.664 | 451 | | ||
0.81 | 0.782 | 378 | | ||
0.696 | 0.67 | 405 | | ||
0.773 | 0.747 | 596 | | ||
0.812 | 0.787 | 613 | | ||
0.778 | 0.753 | 659 | | ||
0.72 | 0.696 | 347 | | ||
0.799 | 0.775 | 730 | | ||
0.72 | 0.697 | 1054 | | ||
0.663 | 0.64 | 356 | | ||
0.795 | 0.773 | 463 | | ||
0.747 | 0.725 | 225 | | ||
0.825 | 0.804 | 800 | | ||
0.748 | 0.727 | 489 | | ||
0.79 | 0.77 | 463 | | ||
0.732 | 0.711 | 1144 | | ||
0.741 | 0.721 | 914 | | ||
0.807 | 0.787 | 622 | | ||
0.851 | 0.832 | 713 | | ||
0.73 | 0.71 | 370 | | ||
0.662 | 0.643 | 408 | | ||
0.807 | 0.789 | 545 | | ||
0.816 | 0.798 | 657 | | ||
0.836 | 0.818 | 837 | | ||
0.716 | 0.698 | 250 | | ||
0.83 | 0.813 | 675 | | ||
0.787 | 0.771 | 207 | | ||
0.755 | 0.739 | 220 | | ||
0.82 | 0.804 | 538 | | ||
0.819 | 0.803 | 646 | | ||
0.786 | 0.77 | 387 | | ||
0.649 | 0.634 | 211 | | ||
0.765 | 0.75 | 515 | | ||
0.633 | 0.618 | 526 | | ||
0.74 | 0.726 | 527 | | ||
0.802 | 0.788 | 556 | | ||
0.795 | 0.781 | 673 | | ||
0.814 | 0.801 | 905 | | ||
0.824 | 0.811 | 723 | | ||
0.826 | 0.813 | 522 | | ||
0.751 | 0.738 | 975 | | ||
0.813 | 0.801 | 396 | | ||
0.815 | 0.803 | 682 | | ||
0.781 | 0.769 | 621 | | ||
0.62 | 0.609 | 524 | | ||
0.745 | 0.734 | 271 | | ||
0.79 | 0.779 | 419 | | ||
0.825 | 0.814 | 715 | | ||
0.746 | 0.735 | 736 | | ||
0.753 | 0.743 | 369 | | ||
0.859 | 0.849 | 270 | | ||
0.729 | 0.719 | 786 | | ||
0.843 | 0.833 | 974 | | ||
0.757 | 0.748 | 506 | | ||
0.746 | 0.737 | 413 | | ||
0.811 | 0.802 | 753 | | ||
0.812 | 0.804 | 634 | | ||
0.814 | 0.806 | 962 | | ||
0.644 | 0.636 | 539 | | ||
0.705 | 0.698 | 705 | | ||
0.679 | 0.672 | 346 | | ||
0.686 | 0.68 | 740 | | ||
0.769 | 0.762 | 575 | | ||
0.776 | 0.769 | 629 | | ||
0.827 | 0.82 | 335 | | ||
0.643 | 0.636 | 594 | | ||
0.83 | 0.823 | 688 | | ||
0.741 | 0.734 | 721 | | ||
0.735 | 0.728 | 294 | | ||
0.735 | 0.729 | 653 | | ||
0.813 | 0.807 | 658 | | ||
0.8 | 0.795 | 681 | | ||
0.71 | 0.705 | 611 | | ||
0.825 | 0.82 | 679 | | ||
0.798 | 0.793 | 302 | | ||
0.794 | 0.789 | 388 | | ||
0.747 | 0.742 | 1034 | | ||
0.704 | 0.699 | 635 | | ||
0.782 | 0.778 | 546 | | ||
0.768 | 0.764 | 560 | | ||
0.759 | 0.756 | 365 | | ||
0.759 | 0.756 | 690 | | ||
0.805 | 0.802 | 282 | | ||
0.775 | 0.772 | 765 | | ||
0.676 | 0.674 | 210 | | ||
0.723 | 0.721 | 343 | | ||
0.77 | 0.768 | 699 | | ||
0.745 | 0.744 | 396 | | ||
0.794 | 0.793 | 597 | | ||
0.607 | 0.607 | 458 | | ||
0.795 | 0.795 | 278 | | ||
0.8 | 0.8 | 876 | | ||
0.561 | 0.562 | 426 | | ||
0.73 | 0.73 | 681 | | ||
0.789 | 0.789 | 577 | | ||
0.82 | 0.821 | 740 | | ||
0.705 | 0.706 | 390 | | ||
0.776 | 0.777 | 518 | | ||
0.769 | 0.771 | 654 | | ||
0.743 | 0.744 | 991 | | ||
0.784 | 0.786 | 694 | | ||
0.82 | 0.823 | 523 | | ||
0.777 | 0.779 | 336 | | ||
0.643 | 0.646 | 443 | | ||
0.537 | 0.541 | 616 | | ||
0.702 | 0.706 | 456 | | ||
0.769 | 0.773 | 437 | | ||
0.706 | 0.711 | 632 | | ||
0.735 | 0.741 | 529 | | ||
0.783 | 0.789 | 406 | | ||
0.788 | 0.794 | 730 | | ||
0.673 | 0.679 | 676 | | ||
0.631 | 0.637 | 528 | | ||
0.731 | 0.738 | 350 | | ||
0.682 | 0.688 | 371 | | ||
0.807 | 0.814 | 664 | | ||
0.661 | 0.668 | 679 | | ||
0.813 | 0.82 | 656 | | ||
0.745 | 0.753 | 846 | | ||
0.733 | 0.742 | 454 | | ||
0.718 | 0.727 | 1129 | | ||
0.758 | 0.767 | 442 | | ||
0.769 | 0.778 | 242 | | ||
0.733 | 0.743 | 221 | | ||
0.77 | 0.78 | 582 | | ||
0.71 | 0.72 | 597 | | ||
0.696 | 0.706 | 401 | | ||
0.776 | 0.786 | 772 | | ||
0.74 | 0.75 | 746 | | ||
0.771 | 0.782 | 424 | | ||
0.737 | 0.748 | 342 | | ||
0.732 | 0.743 | 925 | | ||
0.757 | 0.768 | 477 | | ||
0.783 | 0.795 | 802 | | ||
0.714 | 0.726 | 747 | | ||
0.633 | 0.646 | 294 | | ||
0.697 | 0.711 | 409 | | ||
0.732 | 0.745 | 786 | | ||
0.688 | 0.702 | 336 | | ||
0.628 | 0.643 | 433 | | ||
0.761 | 0.776 | 297 | | ||
0.638 | 0.653 | 345 | | ||
0.822 | 0.837 | 762 | | ||
0.823 | 0.838 | 412 | | ||
0.746 | 0.762 | 421 | | ||
0.688 | 0.705 | 674 | | ||
0.684 | 0.702 | 434 | | ||
0.792 | 0.81 | 566 | | ||
0.7 | 0.718 | 203 | | ||
0.757 | 0.775 | 674 | | ||
0.748 | 0.766 | 848 | | ||
0.754 | 0.772 | 491 | | ||
0.749 | 0.769 | 331 | | ||
0.715 | 0.735 | 459 | | ||
0.722 | 0.742 | 266 | | ||
0.72 | 0.741 | 657 | | ||
0.685 | 0.706 | 731 | | ||
0.746 | 0.767 | 232 | | ||
0.773 | 0.795 | 596 | | ||
0.742 | 0.763 | 236 | | ||
0.599 | 0.62 | 680 | | ||
0.74 | 0.762 | 787 | | ||
0.736 | 0.759 | 375 | | ||
0.715 | 0.738 | 439 | | ||
0.709 | 0.732 | 515 | | ||
0.717 | 0.741 | 212 | | ||
0.707 | 0.731 | 358 | | ||
0.674 | 0.699 | 442 | | ||
0.709 | 0.734 | 244 | | ||
0.756 | 0.782 | 679 | | ||
0.775 | 0.801 | 435 | | ||
0.664 | 0.69 | 217 | | ||
0.724 | 0.75 | 315 | | ||
0.767 | 0.795 | 1068 | | ||
0.724 | 0.753 | 747 | | ||
0.705 | 0.734 | 532 | | ||
0.672 | 0.701 | 472 | | ||
0.708 | 0.738 | 726 | | ||
0.7 | 0.73 | 543 | | ||
0.694 | 0.724 | 742 | | ||
0.634 | 0.665 | 596 | | ||
0.712 | 0.743 | 389 | | ||
0.655 | 0.686 | 443 | | ||
0.709 | 0.74 | 601 | | ||
0.641 | 0.674 | 970 | | ||
0.667 | 0.7 | 249 | | ||
0.673 | 0.706 | 336 | | ||
0.581 | 0.615 | 571 | | ||
0.641 | 0.676 | 817 | | ||
0.757 | 0.792 | 560 | | ||
0.695 | 0.73 | 423 | | ||
0.692 | 0.728 | 698 | | ||
0.762 | 0.798 | 538 | | ||
0.66 | 0.697 | 412 | | ||
0.712 | 0.749 | 274 | | ||
0.699 | 0.739 | 448 | | ||
0.712 | 0.754 | 496 | | ||
0.625 | 0.668 | 264 | | ||
0.629 | 0.673 | 388 | | ||
0.573 | 0.619 | 609 | | ||
0.712 | 0.758 | 292 | | ||
0.706 | 0.754 | 323 | | ||
0.664 | 0.711 | 214 | | ||
0.59 | 0.64 | 505 | | ||
0.616 | 0.667 | 438 | | ||
0.683 | 0.733 | 454 | | ||
0.698 | 0.752 | 301 | | ||
0.434 | 0.489 | 288 | | ||
0.518 | 0.575 | 434 | | ||
0.701 | 0.76 | 581 | | ||
0.62 | 0.68 | 342 | | ||
0.581 | 0.643 | 272 | | ||
0.66 | 0.731 | 538 | | ||
0.393 | 0.464 | 252 | | ||
0.622 | 0.695 | 458 | | ||
0.556 | 0.65 | 225 | | ||
0.584 | 0.683 | 255 | |