diff --git a/gamewinner/strategies/__init__.py b/gamewinner/strategies/__init__.py index 05d10ac..c210924 100644 --- a/gamewinner/strategies/__init__.py +++ b/gamewinner/strategies/__init__.py @@ -8,6 +8,7 @@ from gamewinner.strategies.evanmiya.the_cuts import TheCuts23 # noqa from gamewinner.strategies.evanmiya.the_cuts import TheCuts23DumBayz # noqa from gamewinner.strategies.evanmiya.the_cuts import TheCuts23Frozen # noqa +from gamewinner.strategies.evanmiya.recency_bias import RecencyBias from gamewinner.strategies.evanmiya.the_white_whale import TheWhiteWhale from gamewinner.strategies.evanmiya.vanilla_miya import VanillaMiya # noqa from gamewinner.strategies.examples.best_rank_wins import BestRankWins # noqa @@ -23,6 +24,7 @@ TheCuts23(), TheCuts23Frozen(), TheCuts23DumBayz(), + RecencyBias(), TheWhiteWhale(), Chillz(), KillerChillz(), diff --git a/gamewinner/strategies/evanmiya/data/evanmiya-recent.csv b/gamewinner/strategies/evanmiya/data/evanmiya-recent.csv new file mode 100644 index 0000000..8a25ff5 --- /dev/null +++ b/gamewinner/strategies/evanmiya/data/evanmiya-recent.csv @@ -0,0 +1,364 @@ +name,evanmiyaRank,evanmiyaOBPR,evanmiyaDBPR,evanmiyaBPR,evanmiyaOBPRChange,evanmiyaDBPRChange,evanmiyaBPRChange,evanmiyaOffRank,evanmiyaDefRank,evanmiyaKillShotsPerGame,evanmiyaKillShotsAllowedPerGame,evanmiyaTotalKillShots,evanmiyaTotalKillShotsAllowed,evanmiyaTrueTempo,evanmiyaTempoRank,evanmiyaInjuryRank,evanmiyaRosterRank,evanmiyaResumeRank,evanmiyaHomeRank +Houston,1,12.8,15.5,28.3,-1.4,0.3,-1,6,2,0.86,0.2,30,7,65.6,335,1,1,1,301 +Gonzaga,2,18.7,6.7,25.5,1.1,1,2.2,1,47,0.79,0.15,26,5,71.6,42,2,2,6,169 +Alabama,3,10.6,14.6,25.3,-0.2,0.7,0.5,13,3,0.71,0.11,25,4,74.2,3,3,4,2,2 +Tennessee,4,8.1,15.6,23.7,-0.7,-1.6,-2.3,31,1,0.77,0.2,27,7,67.5,270,4,7,5,91 +Connecticut,5,12.4,11,23.4,0.9,0.3,1.2,8,9,0.76,0.15,26,5,68.3,215,5,3,3,48 +Purdue,6,13.9,8.9,22.9,-0.6,-0.2,-0.7,3,21,0.74,0.29,26,10,65.7,331,6,5,7,146 +UCLA,7,8.9,12.8,21.6,-1.6,-0.4,-2,16,4,0.81,0.25,29,9,67.6,262,9,6,4,164 +Texas,8,10.5,10.7,21.2,-1.3,1,-0.3,15,11,0.56,0.17,20,6,70.1,120,8,10,10,78 +Arizona,9,12.9,8,20.9,0.6,-0.5,0,5,33,0.75,0.19,27,7,73.9,7,7,8,9,139 +Kansas,10,9.5,11,20.5,-0.9,0.5,-0.5,22,8,0.61,0.19,22,7,70.7,85,12,12,14,328 +Saint Mary's,11,8.1,12,20.1,-0.2,-0.9,-1,37,5,0.6,0.27,18,8,63.3,359,10,16,8,60 +Duke,12,10.3,8.6,18.9,1.1,0.8,1.9,17,26,0.69,0.17,25,6,67.1,289,11,13,22,23 +Creighton,13,9.8,8.9,18.7,-0.6,-0.3,-0.9,18,23,0.53,0.26,18,9,69.2,173,13,14,15,19 +Kentucky,14,11.9,6.3,18.2,0.2,0.6,0.8,10,52,0.45,0.27,15,9,68,232,19,26,42,251 +Baylor,15,13.8,4.3,18,-0.2,-1.4,-1.5,4,77,0.66,0.41,21,13,68.6,195,17,15,21,134 +Auburn,16,7.3,10.5,17.8,0.5,-0.9,-0.5,44,13,0.5,0.22,16,7,70.1,119,14,25,25,127 +Marquette,17,10.8,7,17.8,-0.3,1.2,0.9,12,45,0.69,0.4,24,14,70.4,104,15,9,11,291 +San Diego State,18,6.1,11.3,17.5,-1.2,1.4,0.3,61,7,0.55,0.15,18,5,67.6,261,16,23,13,14 +Virginia,19,7.6,9.7,17.2,-1.8,-0.4,-2.2,42,17,0.53,0.18,18,6,63.1,361,18,24,27,102 +Memphis,20,8.5,8.5,17,0.1,1.4,1.5,33,27,0.46,0.26,16,9,73.2,17,22,20,18,272 +Texas A&M,21,8,8.9,16.8,-0.4,1,0.6,39,22,0.49,0.14,17,5,68,233,23,18,19,325 +Arkansas,22,7,9.8,16.8,0.1,0,0.1,51,16,0.59,0.35,20,12,70.9,73,20,27,24,52 +North Carolina,23,8.4,8.2,16.6,-1.3,0.6,-0.7,34,31,0.47,0.26,16,9,70.5,94,21,33,47,157 +TCU,24,7.1,9.3,16.5,-0.5,-0.1,-0.7,47,18,0.54,0.23,19,8,70.8,77,27,28,20,21 +Xavier,25,11.4,4.8,16.2,-1.3,0.6,-0.6,7,68,0.44,0.31,16,11,71.5,47,24,11,17,170 +Michigan State,26,8,7.9,15.8,1.3,-1.8,-0.5,40,35,0.55,0.45,18,15,66.8,305,25,31,51,196 +Illinois,27,7.2,8.5,15.7,-0.9,-1.6,-2.5,46,28,0.69,0.53,22,17,71,69,26,32,35,287 +Maryland,28,8.1,7.3,15.4,0.3,-0.6,-0.4,36,42,0.77,0.26,27,9,66.4,321,28,36,23,5 +Indiana,29,7.8,7.4,15.2,-1.7,-1.1,-2.8,35,36,0.74,0.41,25,14,69.9,137,29,17,37,156 +Florida Atlantic,30,7.1,7.9,15,0.4,1.6,2,48,34,0.85,0.26,29,9,70,124,30,19,16,284 +Liberty,31,9.2,5.7,14.9,0.3,0.2,0.4,25,57,0.81,0.31,26,10,66,327,31,29,12,61 +Iowa,32,14,0.6,14.6,-0.1,-0.7,-0.8,2,153,0.66,0.38,21,12,71,67,32,21,50,114 +Dayton,33,7,7.5,14.6,0.9,-0.7,0.1,49,40,0.68,0.18,23,6,64.4,356,33,49,66,109 +Iowa State,34,3.9,10.6,14.5,-0.5,-0.3,-0.7,96,12,0.61,0.42,20,14,66.4,315,34,50,36,117 +West Virginia,35,9.5,4.8,14.3,0.8,-0.4,0.4,20,69,0.26,0.24,9,8,69.8,141,35,30,26,82 +Kansas State,36,5.5,8.3,13.8,-0.4,-0.3,-0.7,70,30,0.53,0.5,17,16,71.5,45,36,52,41,26 +Drake,37,7,6.7,13.7,0.5,0.9,1.4,50,48,0.55,0.3,18,10,67.7,260,41,53,32,89 +USC,38,6.4,7.2,13.7,0.9,0.1,1.1,56,43,0.67,0.55,22,18,69.4,166,39,45,52,190 +VCU,39,3.1,10.5,13.6,1.7,1.2,2.9,112,14,0.47,0.44,16,15,69.7,150,37,48,38,225 +Miami (Fla.),40,11.9,1.7,13.5,0.1,0,0.1,11,128,0.64,0.21,21,7,69.6,154,62,22,31,334 +UAB,41,7.8,5.7,13.5,0.1,1.4,1.5,41,60,0.75,0.22,27,8,72.3,31,38,44,39,98 +Utah State,42,8.8,4.6,13.4,0,1.9,2,29,71,0.52,0.39,17,13,70.7,83,54,34,40,241 +NC State,43,8.8,4.5,13.3,0.1,-1.2,-1.1,30,73,0.62,0.41,21,14,70.6,87,42,37,34,189 +Mississippi State,44,2.4,10.8,13.3,-0.7,-0.6,-1.3,122,10,0.26,0.4,9,14,65.4,345,40,62,61,162 +Rutgers,45,1.5,11.6,13.1,-0.3,-1.3,-1.6,146,6,0.66,0.2,23,7,68.1,229,43,72,49,171 +Villanova,46,8.1,5,13.1,-0.6,0.6,0,38,65,0.43,0.23,15,8,65.7,330,44,51,78,232 +Penn State,47,9.7,3.2,12.9,1.3,0,1.3,19,91,0.5,0.33,18,12,66.1,324,45,43,45,75 +Florida,48,4.8,8,12.8,0.1,-1.2,-1.1,86,32,0.69,0.44,22,14,71,68,46,56,76,24 +Clemson,49,6.1,6.4,12.5,1.8,0.2,1.9,63,50,0.71,0.29,25,10,69.4,165,47,41,53,22 +Michigan,50,7.2,5.3,12.5,0.6,0.6,1.2,45,64,0.64,0.42,21,14,69.2,174,49,54,74,57 +Providence,51,9.2,3.3,12.5,0.6,-1.8,-1.1,24,90,0.59,0.31,19,10,68.3,216,50,40,46,329 +Ohio State,52,9.1,3.3,12.4,0.3,-0.9,-0.6,26,89,0.56,0.44,20,16,67.5,267,48,47,70,93 +Oklahoma State,53,1.8,10.5,12.3,-0.8,-1.9,-2.7,134,15,0.59,0.47,20,16,69.2,172,58,66,68,243 +Oregon,54,8.6,3.6,12.2,0.3,-0.6,-0.3,32,84,0.44,0.33,16,12,67.7,259,71,60,80,83 +Virginia Tech,55,9.5,2.7,12.2,-1.1,-1,-2,21,104,0.58,0.12,19,4,68,235,51,46,79,111 +Boise State,56,4.6,7.5,12.1,0.9,-1.7,-0.8,89,39,0.45,0.36,15,12,67.5,269,55,70,43,53 +Texas Tech,57,6.2,5.8,12,0.8,-0.7,0.1,60,54,0.5,0.5,16,16,68.4,209,52,69,83,228 +Cincinnati,58,6.1,5.7,11.9,1,-0.8,0.2,62,55,0.59,0.41,19,13,69.8,142,53,55,62,175 +North Texas,59,4.3,7.5,11.8,0.8,0.5,1.3,92,41,0.67,0.36,22,12,61.2,363,56,81,58,222 +Northwestern,60,2.5,9.1,11.7,-0.3,0.1,-0.2,119,20,0.45,0.36,15,12,66.8,306,57,67,48,332 +Oral Roberts,61,9,2.2,11.2,-0.4,1.2,0.8,27,122,1.13,0.37,34,11,71.9,37,59,39,28,242 +College of Charleston,62,5.4,5.7,11.1,0.5,1,1.6,71,59,0.82,0.24,27,8,73,18,60,59,30,118 +Iona,63,6.2,5,11.1,1.4,0.3,1.7,57,67,0.91,0.38,31,13,69.9,131,61,42,29,46 +Kent State,64,3.4,7.5,10.9,1.4,-0.2,1.3,105,38,0.64,0.3,21,10,69.6,153,65,63,33,200 +Missouri,65,10.6,0.3,10.9,-0.6,0.2,-0.4,14,159,0.74,0.47,25,16,70.7,82,68,35,55,124 +Oklahoma,66,5.5,5.3,10.8,0,0.8,0.8,69,62,0.44,0.25,14,8,67.1,284,63,78,93,138 +Toledo,67,12.2,-1.4,10.7,2.2,-0.2,2,9,215,0.66,0.23,23,8,71.3,56,64,38,44,55 +Seton Hall,68,1.3,9.3,10.6,-0.1,-0.5,-0.7,147,19,0.66,0.41,21,13,68.5,205,66,71,86,314 +Furman,69,8.9,1.5,10.4,0.2,-0.7,-0.5,28,133,0.84,0.45,26,14,70,130,67,64,77,336 +Colorado,70,1.9,8.5,10.4,-0.2,-0.4,-0.6,133,29,0.37,0.37,13,13,70.7,84,69,107,90,17 +Washington State,71,5.8,4.5,10.3,1,-0.4,0.6,66,74,0.45,0.3,15,10,65.7,332,70,61,69,88 +Arizona State,72,1.3,8.8,10.2,-0.2,-0.3,-0.4,148,24,0.53,0.5,19,18,70.3,106,72,80,81,339 +Wisconsin,73,2.5,7.6,10.1,-0.1,0.2,0.1,121,37,0.34,0.5,11,16,65,349,73,106,96,240 +UCF,74,5,5,9.9,0.3,0.5,0.8,79,66,0.48,0.48,16,16,66,328,74,74,64,147 +BYU,75,3.7,6.2,9.9,1.4,-0.7,0.6,100,53,0.53,0.56,17,18,71.4,49,75,90,99,121 +Pittsburgh,76,7.5,2.2,9.7,1.1,-1.8,-0.6,43,123,0.57,0.31,20,11,68.7,193,85,58,67,144 +Yale,77,3.9,5.7,9.6,-0.2,0.9,0.7,95,58,0.68,0.36,19,10,67.7,256,76,79,57,278 +Bradley,78,3.2,6.3,9.5,-0.2,-0.5,-0.7,110,51,0.71,0.32,24,11,67.2,279,77,82,60,36 +Stanford,79,6,3.2,9.2,1.2,-0.9,0.3,64,93,0.53,0.53,18,18,68,237,78,77,109,29 +Vanderbilt,80,6.8,2.5,9.2,1.1,1.1,2.2,53,114,0.43,0.54,16,20,68.5,207,79,76,91,248 +Saint John's,81,3.5,5.7,9.2,0,0.1,0.1,101,56,0.55,0.48,18,16,74.8,1,80,83,114,120 +Saint Louis,82,6.5,2.6,9.1,1.2,0.3,1.4,55,110,0.63,0.25,20,8,70.6,92,81,88,110,174 +Utah,83,2.6,6.5,9.1,-1.5,-0.8,-2.2,117,49,0.63,0.31,20,10,68,234,82,102,88,145 +Vermont,84,6.3,2.7,9,0.7,0.9,1.7,58,105,0.5,0.34,16,11,66.2,323,83,68,54,11 +Sam Houston State,85,0.1,8.7,8.9,-1.7,2.8,1.1,169,25,0.59,0.31,17,9,66.8,303,84,93,56,103 +Colgate,86,9.5,-0.7,8.8,1,-0.4,0.7,23,189,0.39,0.18,13,6,69.4,164,86,57,75,204 +New Mexico,87,7,1.6,8.6,1.1,-1,0.1,52,129,0.61,0.21,20,7,72.7,24,87,73,65,177 +Marshall,88,5.5,3,8.6,-0.2,-0.6,-0.8,68,96,0.71,0.23,22,7,73.5,12,88,87,63,237 +Hofstra,89,5.3,2.9,8.3,0.6,1.9,2.5,75,98,0.67,0.36,22,12,69.2,177,89,85,59,178 +Nevada,90,3.3,4.6,7.9,-1.1,0.3,-0.8,107,72,0.61,0.32,19,10,68.4,211,90,89,84,95 +Wake Forest,91,5.9,1.9,7.7,-1.1,-0.3,-1.4,65,126,0.42,0.45,14,15,70.9,75,91,65,94,263 +Utah Valley,92,0.9,6.8,7.7,0,1.1,1.2,155,46,0.45,0.26,14,8,71.2,57,92,84,73,42 +Santa Clara,93,4.9,2.8,7.7,0.7,1.2,1.9,80,103,0.68,0.16,21,5,71.4,50,93,86,97,355 +San Francisco,94,4.9,2.6,7.5,0.5,-0.1,0.5,82,106,0.7,0.36,23,12,70,126,94,96,118,160 +Indiana State,95,4.1,3,7.1,1,-0.6,0.3,94,95,0.73,0.27,24,9,72,34,95,75,71,268 +UNC Greensboro,96,-0.2,7,6.8,0.9,-0.6,0.2,181,44,0.47,0.43,14,13,67.9,242,96,114,98,342 +James Madison,97,3.3,3.5,6.8,0.5,-0.6,-0.1,109,86,0.73,0.37,22,11,72.2,33,97,104,82,273 +UC Santa Barbara,98,5.3,1.2,6.5,1.5,-2.2,-0.8,76,142,0.58,0.21,19,7,66.5,311,98,100,104,271 +Wichita State,99,2,4.4,6.4,1.4,-0.1,1.3,128,75,0.64,0.39,21,13,67.8,250,99,103,103,362 +UNLV,100,2,4.4,6.4,-1,-0.5,-1.6,129,76,0.56,0.38,18,12,71.1,58,100,92,100,352 +UC Irvine,101,1.6,4.8,6.3,-0.4,-0.4,-0.8,143,70,0.48,0.24,16,8,70.9,74,101,119,85,270 +Louisiana-Lafayette,102,5.4,0.9,6.3,0.3,1.6,1.9,74,148,0.57,0.2,17,6,70.1,121,102,101,87,32 +Towson,103,4.6,1.5,6.1,1,1,2,88,132,0.71,0.26,24,9,66.6,310,103,110,101,47 +Tulane,104,4.9,1.1,5.9,-1.1,-0.9,-2,83,144,0.53,0.38,17,12,73.4,14,104,95,108,217 +Syracuse,105,5.7,0.2,5.9,-0.7,-2.4,-3.1,67,163,0.5,0.47,16,15,69.1,178,105,99,135,290 +Akron,106,3.4,2.4,5.8,1.4,-0.1,1.3,106,115,0.47,0.38,15,12,67,293,106,117,106,39 +Princeton,107,4.3,1.4,5.7,-0.2,0.8,0.7,93,135,0.37,0.44,10,12,69.3,167,108,123,89,208 +Nebraska,108,1.7,4,5.7,2.5,1.1,3.6,138,80,0.53,0.69,17,22,68.6,197,107,94,124,79 +Southern Mississippi,109,1.8,3.6,5.4,-1.7,0.3,-1.4,135,83,0.73,0.43,22,13,70.3,109,109,111,72,97 +Belmont,110,6.2,-1.1,5.1,0.4,-0.1,0.3,59,204,0.52,0.32,16,10,70.1,116,110,98,111,25 +UMass Lowell,111,2.5,2.6,5.1,0.9,0.4,1.4,120,109,0.59,0.31,19,10,70.4,97,111,109,92,1 +Temple,112,2.2,2.8,5,0.4,-1,-0.6,125,100,0.5,0.31,16,10,67.8,249,112,132,123,320 +Ole Miss,113,1.6,3.3,5,0.4,-0.5,-0.2,140,87,0.26,0.32,9,11,67.9,241,113,124,158,275 +Samford,114,5.1,-0.2,4.9,0.4,0.3,0.7,78,178,0.61,0.32,17,9,69.9,139,114,91,112,183 +Duquesne,115,3.3,1.4,4.8,0.1,-1.1,-1.1,108,134,0.81,0.28,26,9,70,127,115,113,102,247 +Montana State,116,1,3.6,4.6,0.1,0.6,0.8,153,82,0.47,0.28,15,9,68.3,217,116,112,105,261 +South Alabama,117,2,2.6,4.5,1.9,1.5,3.5,131,112,0.39,0.36,13,12,67,295,117,128,107,40 +Middle Tennessee,118,1.5,3,4.5,-0.2,0.6,0.4,144,97,0.53,0.47,17,15,68.5,201,118,120,125,4 +Southern Illinois,119,-1,5.4,4.4,-0.8,0.9,0,199,61,0.5,0.34,16,11,65.5,341,119,130,116,176 +Grand Canyon,120,4.4,-0.1,4.3,2.4,-1.2,1.2,90,165,0.52,0.58,17,19,67.2,277,120,125,117,136 +George Mason,121,0.4,3.9,4.3,-0.5,1,0.6,164,81,0.3,0.36,10,12,68.1,226,121,134,142,158 +Ohio,122,5.4,-1.3,4.1,0.9,1.2,2,73,209,0.64,0.61,21,20,70.1,122,122,105,113,7 +Davidson,123,3.8,0.2,4,0,0.5,0.5,97,164,0.39,0.26,12,8,66.8,307,123,146,137,309 +LSU,124,3.5,0.5,3.9,0.5,-1.1,-0.6,103,157,0.41,0.44,14,15,67.6,263,124,115,191,165 +Loyola Marymount,125,3.7,0,3.8,-0.1,-1.4,-1.5,99,172,0.5,0.53,15,16,68.7,192,125,131,136,295 +Penn,126,4.8,-1.1,3.7,0.2,0.6,0.9,84,202,0.52,0.45,15,13,68.4,208,126,126,122,197 +Missouri State,127,1.1,2.6,3.7,0.3,-0.1,0.3,151,107,0.32,0.39,10,12,64.5,352,127,122,128,233 +Washington,128,-0.3,4.1,3.7,0,0,0,187,78,0.45,0.65,14,20,70.7,81,128,138,149,201 +Colorado State,129,4.8,-1.4,3.4,0.1,0,0.2,85,212,0.44,0.44,14,14,67.9,239,129,121,153,236 +Charlotte,130,2.9,0.3,3.3,0.4,0.2,0.6,114,160,0.44,0.5,14,16,62.3,362,130,127,121,135 +Youngstown State,131,6.6,-3.4,3.2,0.2,-0.2,0,54,264,0.9,0.32,28,10,69.3,169,131,108,95,64 +Notre Dame,132,5.2,-2,3.2,-1.3,1.7,0.4,77,228,0.44,0.25,14,8,66.7,308,132,133,189,153 +Fordham,133,-2.2,5.3,3.1,-0.1,0.5,0.3,229,63,0.38,0.41,13,14,71,70,133,156,129,148 +Richmond,134,0.6,2.4,3,-1.1,0.4,-0.7,160,117,0.45,0.52,15,17,67,297,134,145,163,63 +Southern Utah,135,3.8,-0.7,3,0.4,-0.6,-0.2,98,191,0.42,0.42,13,13,73,19,135,139,120,37 +Eastern Washington,136,4.9,-2.3,2.6,1.1,-0.4,0.6,81,235,0.47,0.31,15,10,70.1,123,136,118,127,257 +Cornell,137,5.4,-2.9,2.5,-1.6,-0.1,-1.7,72,253,0.42,0.42,11,11,73,21,137,97,126,133 +Stephen F. Austin,138,0.3,2.2,2.5,-0.9,-0.4,-1.3,166,120,0.45,0.41,13,12,71.1,59,138,141,133,77 +Butler,139,-0.9,3.2,2.3,-1.7,0.1,-1.6,197,92,0.47,0.53,15,17,67.1,286,139,149,176,316 +San Jose State,140,2.2,-0.1,2.2,-0.2,1,0.8,124,175,0.52,0.39,17,13,65.1,348,140,135,119,107 +Chattanooga,141,3.5,-1.3,2.2,-0.4,0.6,0.2,102,211,0.63,0.41,20,13,69.7,151,141,116,148,319 +Fresno State,142,-0.3,2.2,2,0.3,0.2,0.4,184,121,0.32,0.52,10,16,65.6,333,142,143,177,137 +Georgia Tech,143,-0.5,2.4,1.9,1.8,-0.5,1.3,190,116,0.42,0.65,13,20,68.2,222,143,153,190,359 +Harvard,144,-1.7,3.6,1.9,0.7,-0.4,0.3,219,85,0.38,0.31,10,8,67.7,257,144,170,140,286 +UNC Wilmington,145,-1.2,2.8,1.5,-0.1,0.4,0.3,206,102,0.28,0.34,9,11,67,296,145,144,132,149 +UC Riverside,146,1.7,-0.1,1.5,1.2,0,1.2,139,176,0.5,0.47,17,16,68.6,194,146,165,143,238 +South Dakota State,147,2,-0.6,1.4,-0.2,0.5,0.3,130,186,0.61,0.61,19,19,68.4,212,147,142,192,84 +Hawaii,148,-1.2,2.6,1.4,-0.1,0.8,0.7,205,111,0.4,0.27,12,8,66.1,325,148,207,138,252 +Navy,149,-0.1,1.4,1.3,-0.7,1.3,0.6,177,138,0.53,0.2,16,6,66.6,309,149,155,139,358 +Kennesaw State,150,0,1.2,1.2,0.8,0.5,1.3,174,141,0.39,0.23,12,7,70,129,150,129,115,249 +Troy,151,-1.4,2.6,1.2,0.7,0.2,0.9,212,108,0.37,0.3,11,9,69.8,144,151,162,130,31 +Lipscomb,152,2.2,-1.1,1.1,0.7,-0.3,0.5,126,200,0.73,0.3,22,9,70.3,108,152,137,144,86 +Western Kentucky,153,0.9,0.2,1,-0.7,0.8,0.1,156,166,0.28,0.63,9,20,68.8,189,153,172,194,154 +UNC Asheville,154,-0.1,0.9,0.9,0.5,1.3,1.9,175,147,0.44,0.41,14,13,69.9,138,154,175,147,223 +South Florida,155,-0.6,1.4,0.8,-0.1,0.2,0.1,191,136,0.59,0.28,19,9,69.7,148,155,166,157,321 +Old Dominion,156,-1.6,2.3,0.8,-0.7,0.7,0,215,118,0.4,0.33,12,10,66.9,301,156,167,161,296 +Wyoming,157,2.3,-1.6,0.7,-0.1,1.1,1,123,217,0.43,0.57,13,17,67.7,254,157,150,219,140 +Longwood,158,-0.3,1.1,0.7,-0.2,-0.6,-0.8,186,145,0.57,0.3,17,9,68.3,220,158,164,154,282 +Georgia,159,0,0.7,0.6,-1.6,-1.4,-3.1,173,152,0.47,0.47,15,15,69.1,181,159,161,203,3 +DePaul,160,1.6,-0.9,0.6,-0.6,-0.6,-1.2,142,194,0.33,0.64,11,21,70.3,105,160,160,210,115 +Cal State Fullerton,161,-1,1.5,0.5,1.7,0,1.6,201,130,0.28,0.28,9,9,66.4,316,161,176,131,327 +Long Beach State,162,-0.1,0.6,0.5,0.3,-0.4,-0.2,178,154,0.45,0.26,14,8,74.5,2,162,174,152,206 +Massachusetts,163,-1.1,1.5,0.4,-1.7,1,-0.7,202,131,0.55,0.39,17,12,72.4,29,163,148,186,80 +Northern Kentucky,164,-0.8,1.1,0.3,1.2,0.8,1.9,194,143,0.53,0.47,17,15,64.3,357,164,159,156,71 +Boston College,165,-1.9,2.2,0.3,0,0.3,0.3,221,119,0.3,0.73,10,24,68,238,165,169,211,312 +Cleveland State,166,0.3,0,0.3,0,0.8,0.8,165,173,0.47,0.13,15,4,67.5,272,166,158,134,219 +Quinnipiac,167,0.2,0,0.2,-0.1,-1,-1.1,168,171,0.58,0.23,18,7,71.1,60,167,190,145,235 +Wright State,168,0.7,-0.5,0.2,-0.5,-0.4,-0.9,158,184,0.55,0.42,17,13,72.5,28,168,180,170,193 +Montana,169,2.6,-2.5,0.1,0.6,-0.4,0.2,118,241,0.37,0.27,11,8,65.5,337,169,154,155,274 +Ball State,170,3.1,-3,0.1,0,-1.8,-1.8,113,257,0.47,0.43,14,13,68.9,187,170,157,150,186 +Louisiana Tech,171,0.5,-0.4,0,-0.6,-1.4,-2,162,182,0.39,0.58,12,18,68.6,198,171,173,202,269 +Saint Joseph's,172,0.2,-0.2,0,0.4,-1,-0.6,167,177,0.36,0.24,12,8,70.4,96,172,193,175,168 +Drexel,173,-2.1,2,-0.1,-0.9,0.9,0,226,124,0.45,0.35,14,11,65.5,340,173,197,171,38 +California Baptist,174,-1.4,1.3,-0.2,-1.1,0.2,-0.9,211,140,0.39,0.32,12,10,66.9,302,174,196,180,6 +Saint Bonaventure,175,-3.1,2.8,-0.3,-0.6,-1,-1.6,250,99,0.22,0.34,7,11,67.3,275,175,218,178,28 +Bryant,176,1.6,-1.9,-0.3,-1,0.1,-0.9,141,223,0.64,0.21,18,6,73.2,16,176,171,174,100 +Brown,177,-3.5,3.2,-0.4,-0.1,-1.2,-1.3,264,94,0.71,0.29,20,8,70.5,95,177,192,151,166 +Gardner-Webb,178,-3.9,3.3,-0.5,0.1,-1.8,-1.7,272,88,0.41,0.28,12,8,67.7,258,178,198,179,245 +Florida Gulf Coast,179,0.6,-1.3,-0.7,-0.1,-0.1,-0.2,161,210,0.42,0.61,13,19,68.3,219,179,178,168,44 +Eastern Kentucky,180,-1.4,0.6,-0.8,-1.2,1.2,0,210,155,0.5,0.37,15,11,71.8,40,180,183,169,72 +Portland,181,3.1,-4,-0.9,0.9,-0.7,0.2,111,276,0.58,0.48,18,15,71.3,55,181,151,197,94 +SMU,182,-0.8,0,-0.9,0.5,-0.7,-0.2,195,174,0.35,0.61,11,19,71.1,62,182,186,222,16 +Seattle,183,-3.4,2.5,-0.9,-0.4,-0.1,-0.5,260,113,0.24,0.86,7,25,70.6,91,183,219,173,15 +Norfolk State,184,1.8,-2.7,-1,-0.8,0.7,-0.1,136,249,0.57,0.57,17,17,67.1,290,184,194,196,143 +George Washington,185,2.7,-3.7,-1,1.5,0,1.5,116,268,0.4,0.63,12,19,70.2,111,185,184,184,347 +Air Force,186,-0.7,-0.5,-1.2,-0.5,1,0.5,193,185,0.47,0.41,15,13,65,350,186,163,166,188 +Texas State,187,-0.1,-1.1,-1.2,1.4,-0.7,0.7,179,201,0.25,0.47,8,15,65.6,334,187,222,199,353 +Florida State,188,0.8,-2,-1.2,-1,0,-1,157,230,0.31,0.91,10,29,70.2,115,188,152,259,194 +Abilene Christian,189,-0.3,-1.1,-1.4,-0.9,0,-1,185,205,0.46,0.31,12,8,71.1,61,189,209,195,173 +Siena,190,-1.6,0.2,-1.4,-1.3,-0.7,-2,216,167,0.53,0.34,17,11,68.2,221,190,203,185,231 +Radford,191,-0.9,-0.6,-1.5,0.4,-1,-0.7,196,187,0.39,0.45,12,14,66.3,322,191,182,160,341 +North Carolina Central,192,-2.7,1,-1.6,-0.7,2.6,1.9,238,146,0.56,0.7,15,19,69.5,160,192,215,159,85 +UTEP,193,-5.7,4,-1.6,0.7,-1,-0.3,303,79,0.33,0.47,10,14,69.7,147,193,231,200,280 +Stetson,194,4.6,-6.4,-1.7,0.8,-0.3,0.5,87,320,0.46,0.32,13,9,66.5,313,194,136,146,116 +Rider,195,1.1,-2.9,-1.8,0.4,-1.5,-1,150,254,0.41,0.48,12,14,67.1,288,195,227,181,348 +Utah Tech,196,-0.1,-1.8,-1.9,1.1,0.4,1.5,176,219,0.37,0.37,11,11,70.8,76,196,236,162,192 +Detroit,197,4.5,-6.4,-1.9,-0.1,1.2,1.2,91,321,0.63,0.44,20,14,69.2,175,197,147,167,213 +UC Davis,198,-1.7,-0.2,-1.9,-1.2,0.7,-0.4,217,180,0.53,0.5,16,15,71.6,41,198,220,183,288 +Northern Iowa,199,-1,-0.9,-2,0.6,-0.2,0.4,200,195,0.71,0.35,22,11,69.3,170,199,188,204,293 +Loyola Chicago,200,0,-2,-2,-0.9,0.1,-0.9,172,227,0.35,0.48,11,15,68.1,227,200,214,274,331 +Appalachian State,201,-2.9,0.8,-2,1.2,-0.8,0.3,245,150,0.38,0.59,11,17,66.9,299,201,224,193,260 +Mercer,202,-2.2,0.1,-2.1,-0.3,1.2,0.9,231,169,0.35,0.48,11,15,66.4,319,202,230,223,306 +Grambling,203,-5.1,2.8,-2.3,0.7,1,1.7,295,101,0.56,0.31,18,10,68,231,203,217,164,315 +Jacksonville,204,-2.6,0.3,-2.4,-0.1,0.7,0.6,237,162,0.46,0.42,12,11,63.3,360,204,228,213,318 +Saint Thomas (Minn.),205,2,-4.5,-2.5,-1.3,1.2,-0.1,132,287,0.42,0.45,13,14,67.9,243,205,179,172,33 +New Mexico State,206,-0.3,-2.3,-2.5,0.1,0.2,0.3,183,234,0.43,0.48,9,10,70.2,110,206,191,231,216 +Tarleton State,207,-3.9,1.3,-2.6,0.1,0.2,0.3,270,139,0.55,0.24,16,7,68.4,210,207,205,165,9 +Pepperdine,208,-0.2,-2.4,-2.6,-0.5,-0.1,-0.6,180,240,0.39,0.36,11,10,73.6,10,208,221,232,195 +East Carolina,209,-4.1,1.4,-2.6,0,1.4,1.4,276,137,0.62,0.44,21,15,69.9,140,209,195,201,159 +Buffalo,210,-1.3,-1.4,-2.7,-1.2,-0.3,-1.4,209,214,0.7,0.33,21,10,73.4,13,210,208,214,27 +Howard,211,-1.8,-1,-2.8,0.5,2.5,3,220,197,0.56,0.28,18,9,70.9,71,211,187,182,10 +Murray State,212,1.1,-3.9,-2.8,-0.1,0,-0.1,152,273,0.35,0.61,11,19,68.1,224,212,185,216,54 +Georgetown,213,-0.2,-2.7,-2.9,-1.8,-0.2,-2,182,248,0.47,0.59,15,19,70.4,102,213,168,249,338 +Georgia Southern,214,-3.9,0.8,-3.1,-0.6,1.1,0.5,273,151,0.3,0.5,9,15,68.2,223,214,266,208,112 +Weber State,215,-3.7,0.5,-3.1,0,1.5,1.5,266,156,0.39,0.61,12,19,66.9,298,215,223,209,56 +Wofford,216,3.4,-6.7,-3.3,0.6,-0.2,0.4,104,328,0.47,0.37,14,11,66.4,314,216,210,226,45 +La Salle,217,-2.7,-0.6,-3.3,0.3,-0.5,-0.2,241,188,0.11,0.43,4,15,69.9,136,217,237,230,203 +Northwestern State,218,-0.4,-3.1,-3.5,-0.4,-0.2,-0.6,188,260,0.34,0.28,11,9,69.1,180,218,204,187,131 +Pacific,219,0.5,-4,-3.5,0.6,-0.5,0.1,163,278,0.19,0.58,6,18,71.3,53,219,189,206,90 +South Carolina,220,-1.5,-2.1,-3.6,0.8,0,0.7,213,232,0.31,0.72,10,23,66.4,320,220,199,278,363 +Rhode Island,221,-5.5,1.9,-3.6,-1.2,-0.2,-1.4,302,125,0.45,0.39,14,12,69.5,161,221,249,246,305 +Texas A&M-Corpus Christi,222,-1.8,-2,-3.8,-2,-0.5,-2.5,154,208,0.5,0.07,15,2,70.8,80,222,140,141,285 +Queens,223,0.1,-3.9,-3.8,-0.6,1.3,0.8,170,275,0.3,0.53,9,16,71.5,46,223,216,188,128 +Winthrop,224,2.9,-6.7,-3.8,2.1,-1.2,1,115,327,0.3,0.57,9,17,69.1,179,224,201,234,281 +Campbell,225,-0.5,-3.4,-3.9,1.7,0.5,2.2,189,263,0.44,0.38,14,12,65.7,329,225,181,212,212 +Morehead State,226,-2.8,-1.1,-3.9,0.3,0.9,1.2,243,203,0.39,0.46,11,13,65.2,347,226,202,198,155 +Fort Wayne,227,-2.5,-1.4,-4,-0.4,-0.4,-0.8,234,213,0.37,0.47,11,14,70.4,100,227,246,217,343 +Rice,228,1.5,-5.5,-4,-2,-1.3,-3.3,145,302,0.55,0.68,17,21,71.6,43,228,226,241,256 +North Dakota State,229,-2.1,-2,-4.1,-0.5,1.7,1.2,228,224,0.39,0.71,12,22,69.5,159,229,213,218,220 +Boston University,230,-3.2,-1.2,-4.4,-0.2,0.7,0.5,254,207,0.58,0.58,18,18,67.2,282,230,273,227,258 +UMBC,231,1.2,-5.7,-4.5,-1.1,0.1,-1.1,149,306,0.68,0.55,21,17,69,184,231,177,207,92 +American,232,-2.1,-2.5,-4.6,-0.7,-0.8,-1.5,224,243,0.22,0.56,7,18,65,351,232,232,224,302 +Western Carolina,233,-2.1,-2.6,-4.7,0.9,0.5,1.4,227,245,0.2,0.53,6,16,69.6,157,233,234,228,65 +Delaware,234,-1.9,-2.7,-4.7,0.2,-0.7,-0.5,222,251,0.31,0.53,10,17,68.5,200,234,241,243,151 +Jacksonville State,235,-2.2,-2.6,-4.7,0.9,0.5,1.4,230,244,0.36,0.61,10,17,67.8,253,235,243,252,254 +East Tennessee State,236,-2.3,-2.4,-4.8,0.8,-0.4,0.3,233,239,0.5,0.47,15,14,67.6,266,236,242,245,311 +Minnesota,237,-3.2,-1.8,-5,1.7,-1.9,-0.2,256,218,0.31,0.56,10,18,67.2,281,237,206,297,351 +Army,238,-1.2,-3.7,-5,-0.4,0.4,0,208,269,0.45,0.35,14,11,69.9,132,238,245,225,289 +Fairfield,239,-5.1,0.1,-5,0.5,-1.4,-0.9,294,170,0.3,0.4,9,12,66.9,300,239,269,235,214 +Milwaukee,240,-3.2,-1.8,-5,0.4,-0.5,-0.2,253,222,0.52,0.62,15,18,73,20,240,200,205,62 +Robert Morris,241,-4.2,-0.8,-5,0.5,0.6,1,280,193,0.48,0.55,15,17,68,236,241,239,215,210 +San Diego,242,2.1,-7.3,-5.2,-1.2,-0.1,-1.2,127,335,0.48,0.72,14,21,70.3,107,242,212,262,326 +Sacramento State,243,-1.7,-3.5,-5.2,-0.1,0.9,0.8,218,265,0.3,0.5,9,15,64.5,353,243,238,236,81 +Niagara,244,-2.3,-3,-5.2,0.3,-0.9,-0.6,232,256,0.29,0.23,9,7,64.5,354,244,260,229,184 +Florida International,245,-3.2,-2.2,-5.4,0.8,-1,-0.2,255,233,0.68,0.58,21,18,71.9,38,245,240,233,129 +Nicholls State,246,-3.1,-2.5,-5.6,-1.5,-0.6,-2.1,248,242,0.52,0.52,14,14,72.3,30,246,211,250,66 +SIU Edwardsville,247,-5.4,-0.2,-5.7,-0.1,-0.5,-0.6,300,179,0.48,0.58,15,18,71.4,51,247,264,221,215 +Oregon State,248,-4.7,-1,-5.8,-0.2,-1,-1.2,289,198,0.58,0.55,18,17,65.5,339,248,251,279,313 +North Florida,249,1.7,-7.6,-5.9,1.4,0.3,1.6,137,342,0.34,0.59,10,17,69.8,143,249,225,242,43 +Lafayette,250,-6.5,0.3,-6.2,-0.5,0.1,-0.4,315,161,0.53,0.59,18,20,65.4,342,250,255,240,323 +Bucknell,251,-3.4,-3.1,-6.5,0.2,-0.2,0,258,262,0.35,0.45,11,14,68.5,203,251,285,272,283 +Canisius,252,-2.7,-3.8,-6.5,0.5,1.3,1.8,239,271,0.31,0.72,9,21,69.7,146,252,244,237,218 +South Carolina Upstate,253,-4.8,-1.8,-6.6,0.1,0.6,0.7,291,220,0.31,0.41,9,12,70,125,253,229,244,70 +Dartmouth,254,-4.5,-2,-6.6,1,-0.6,0.4,286,229,0.46,0.65,12,17,70.4,99,254,252,253,303 +Northern Colorado,255,0.1,-6.6,-6.6,0.5,-1.3,-0.8,171,325,0.42,0.55,13,17,70.8,78,255,262,280,76 +Louisville,256,-3.5,-3.1,-6.6,0.8,-0.3,0.5,263,261,0.28,0.84,9,27,68.6,199,256,258,323,119 +Alcorn State,257,-3.7,-3,-6.7,0.3,0.2,0.5,268,258,0.52,0.52,16,16,69,182,257,263,220,266 +Mount St. Mary's,258,-6.5,-0.2,-6.7,0.5,0.2,0.7,313,181,0.28,0.5,9,16,67.7,255,258,275,248,307 +Georgia State,259,-4.5,-2.4,-6.9,0.2,-2,-1.8,285,237,0.36,0.39,10,11,68.3,214,259,284,287,101 +Bellarmine,260,-1.2,-5.8,-7,-0.7,-0.8,-1.4,204,309,0.27,0.63,8,19,64.3,358,260,281,268,330 +Northern Illinois,261,-4.7,-2.4,-7.1,-0.4,0.4,0.1,288,238,0.43,0.6,13,18,70.6,88,261,280,238,317 +Lehigh,262,-4.8,-2.3,-7.1,-0.7,0.7,0,290,236,0.5,0.79,14,22,70.6,89,262,267,263,279 +Northern Arizona,263,-0.6,-6.6,-7.2,1.2,0.4,1.6,192,322,0.09,0.58,3,19,69,183,263,259,256,230 +Illinois State,264,-3.1,-4.2,-7.3,-0.7,-0.2,-0.9,251,284,0.25,0.34,8,11,66.8,304,264,261,291,126 +Manhattan,265,-4.4,-3,-7.4,-0.2,-0.3,-0.5,283,255,0.55,0.52,16,15,68.7,190,265,257,273,344 +Tennessee State,266,-3.4,-4,-7.5,0.5,-0.6,0,261,279,0.5,0.46,14,13,71.8,39,266,250,247,74 +Idaho State,267,-3.9,-3.6,-7.5,0.4,-0.4,0.1,271,267,0.4,0.33,12,10,67.3,274,267,277,258,30 +Southeast Missouri State,268,-4,-3.6,-7.6,0.5,0.1,0.6,275,266,0.35,0.71,12,24,73.6,11,268,247,239,87 +Saint Peter's,269,-6.8,-1,-7.7,1,-1,0,318,196,0.26,0.68,8,21,65.5,338,269,276,290,187 +Portland State,270,-3.5,-4.4,-7.8,-0.3,0,-0.3,262,285,0.37,0.53,11,16,74.1,4,270,270,269,259 +Valparaiso,271,-5.3,-2.6,-7.9,-0.7,0.5,-0.3,298,246,0.29,0.84,9,26,69.3,168,271,313,292,255 +Tennessee-Martin,272,-2.6,-5.4,-8,0.7,-0.5,0.3,236,301,0.59,0.38,17,11,72.2,32,272,274,251,99 +Bowling Green,273,-1.2,-6.9,-8.1,-0.9,-0.4,-1.3,203,330,0.41,0.59,12,17,71.3,54,273,233,281,123 +UC San Diego,274,-2.8,-5.3,-8.1,1.2,-0.1,1,242,299,0.21,0.64,6,18,68.1,230,274,300,275,349 +Northeastern,275,-5.4,-2.7,-8.1,-0.7,-0.1,-0.8,299,250,0.17,0.47,5,14,68.5,204,275,287,301,167 +Coastal Carolina,276,-1.5,-6.6,-8.2,0.2,-1.1,-0.9,214,324,0.32,0.54,9,15,69.7,152,276,282,303,35 +Binghamton,277,-4.2,-4.1,-8.2,0,0.5,0.5,279,281,0.34,0.38,10,11,67.8,251,277,294,283,69 +Southern Indiana,278,-2.8,-5.4,-8.3,0.1,-0.2,-0.1,244,300,0.45,0.34,13,10,71.1,63,278,254,261,224 +Wagner,279,-7.1,-1.1,-8.3,-1.3,0.5,-0.8,321,206,0.12,0.5,3,13,64.5,355,279,336,270,264 +Oakland,280,-1,-7.4,-8.3,-0.5,-0.7,-1.3,198,336,0.39,0.74,12,23,69.6,158,280,286,299,333 +Maryland-Eastern Shore,281,-9.2,0.9,-8.3,-2,1.5,-0.5,339,149,0.64,0.86,18,24,71,66,281,303,257,335 +Prairie View,282,-8.8,0.5,-8.3,-0.1,-0.2,-0.4,336,158,0.27,0.53,8,16,70.1,117,282,322,277,198 +New Hampshire,283,-6.3,-2.1,-8.4,-0.7,0.1,-0.5,309,231,0.21,0.57,6,16,66.1,326,283,309,254,18 +North Alabama,284,-3.6,-4.8,-8.4,-0.4,0,-0.4,265,289,0.37,0.53,11,16,70.4,103,284,279,260,106 +California,285,-7.8,-0.7,-8.4,-1.8,-0.4,-2.2,327,190,0.21,0.73,7,24,65.3,346,285,319,324,50 +Texas Southern,286,-7.8,-0.7,-8.5,1.7,0.6,2.2,326,192,0.55,0.61,18,20,71.1,65,286,341,286,324 +High Point,287,-4.1,-4.4,-8.5,0,0.5,0.5,277,286,0.38,0.59,11,17,72.7,27,287,290,294,13 +Western Illinois,288,-3,-5.6,-8.5,0.1,0.4,0.5,246,305,0.37,0.59,10,16,69,185,288,248,264,108 +Southeastern Louisiana,289,-2.5,-6,-8.6,0.7,1,1.7,235,313,0.48,0.55,14,16,70.6,86,289,256,255,354 +Southern,290,-8.2,-0.4,-8.7,-2,0.2,-1.7,332,183,0.5,0.53,15,16,72.8,22,290,316,276,51 +UT Arlington,291,-6.9,-1.8,-8.7,0.7,-0.7,0,320,221,0.38,0.55,11,16,67.8,248,291,314,284,207 +Denver,292,-3.1,-5.7,-8.8,0.4,1,1.4,249,307,0.37,0.57,11,17,70,128,292,278,289,20 +Texas-Rio Grande Valley,293,-3.7,-5.2,-8.9,1.3,-1,0.2,267,297,0.5,0.32,14,9,74.1,5,293,272,266,277 +Illinois-Chicago,294,-6.4,-2.7,-9.1,0.4,-0.6,-0.2,312,247,0.13,0.55,4,17,70.5,93,294,320,285,113 +Merrimack,295,-11,1.8,-9.1,1.1,1.8,2.9,351,127,0.42,0.74,13,23,67.9,245,295,253,282,227 +South Dakota,296,-2.1,-7.1,-9.2,-0.1,-0.3,-0.4,225,333,0.41,0.66,12,19,68.1,225,296,293,325,105 +Miami (Ohio),297,-1.2,-8,-9.3,-0.1,1.8,1.6,207,345,0.21,0.45,6,13,68.7,191,297,288,298,161 +Tennessee Tech,298,-3.3,-6,-9.3,0.8,-0.3,0.5,257,311,0.37,0.63,11,19,68.3,218,298,235,265,49 +Louisiana-Monroe,299,-6.3,-3,-9.3,-1.3,-0.8,-2.1,310,259,0.31,0.93,9,27,67.9,246,299,330,293,152 +Fairleigh Dickinson,300,0.6,-10.1,-9.4,0.6,1.3,1.9,159,358,0.43,0.43,13,13,70.4,101,300,268,267,298 +Missouri-Kansas City,301,-7.6,-2,-9.6,-1.9,-1.2,-3.1,324,225,0.23,0.37,7,11,65.6,336,301,265,302,163 +Arkansas State,302,-4.9,-4.9,-9.7,1.4,0.3,1.7,292,291,0.3,0.5,9,15,65.4,344,302,321,305,292 +Marist,303,-7.8,-2,-9.8,1.1,0.8,1.9,328,226,0.3,0.61,10,20,67.2,280,303,302,288,360 +Loyola Maryland,304,-4.2,-5.8,-9.9,1.3,-0.3,1,278,308,0.45,0.52,14,16,67.6,265,304,317,316,96 +Cal Poly,305,-10.1,0.1,-10,-0.5,0.7,0.3,345,168,0.39,0.45,12,14,66.5,312,305,344,306,337 +Maine,306,-6,-4.1,-10.1,-0.9,0.4,-0.6,308,282,0.43,0.61,12,17,67.2,276,306,289,271,8 +UTSA,307,-4.3,-5.9,-10.1,1.2,1.1,2.3,282,310,0.33,0.7,10,21,70.6,90,307,304,311,300 +Saint Francis (PA),308,-2.7,-7.8,-10.5,0.7,-0.1,0.6,240,343,0.34,0.41,10,12,69.6,155,308,305,304,59 +Stony Brook,309,-6.7,-3.9,-10.6,-0.3,0.8,0.6,316,274,0.19,0.81,6,25,66.4,318,309,291,320,345 +Morgan State,310,-9.6,-1.1,-10.7,-1.4,0.4,-1,340,199,0.37,0.44,10,12,72.7,25,310,296,295,179 +Texas A&M-Commerce,311,-4.6,-6.1,-10.7,1.2,-1.4,-0.2,287,315,0.38,0.38,12,12,67.5,271,311,271,296,265 +Sacred Heart,312,-5.8,-5.1,-10.9,-1.2,0.2,-1,304,295,0.31,0.5,10,16,71.5,48,312,325,308,310 +North Dakota,313,-3.8,-7.4,-11.3,1.2,-0.1,1.1,269,337,0.23,0.52,7,16,68.9,186,313,326,300,229 +Charleston Southern,314,-2,-9.3,-11.3,-0.8,0.6,-0.2,223,353,0.31,0.62,9,18,67.9,247,314,328,312,104 +Cal State Bakersfield,315,-9.7,-1.6,-11.3,-0.4,0.4,0,344,216,0.26,0.58,8,18,65.4,343,315,360,318,172 +Stonehill,316,-7.6,-3.8,-11.4,0,0,-0.1,325,270,0.33,0.37,10,11,68.6,196,316,311,307,250 +Arkansas-Little Rock,317,-3.2,-8.5,-11.6,0.5,0.2,0.7,252,347,0.41,0.69,12,20,72.8,23,317,283,314,68 +Idaho,318,-3,-8.6,-11.7,-1.3,-0.1,-1.4,247,349,0.13,0.63,4,19,67.8,252,318,292,310,262 +North Carolina A&T,319,-6.9,-4.9,-11.7,-1.3,0.2,-1,319,290,0.55,0.62,16,18,71.4,52,319,301,329,346 +Eastern Michigan,320,-4.2,-7.5,-11.7,-1.4,0.3,-1.1,281,339,0.03,0.43,1,13,70.8,79,320,307,321,125 +Jackson State,321,-8.1,-4.2,-12.2,0.6,0.3,0.9,331,283,0.29,0.56,10,19,69.6,156,321,315,315,350 +Chicago State,322,-4.5,-7.8,-12.3,0.6,-1.1,-0.5,284,344,0.36,0.68,10,19,67.1,287,322,310,309,181 +Austin Peay,323,-6.7,-5.5,-12.3,-0.3,-1.2,-1.5,317,303,0.61,0.71,17,20,67.1,285,323,339,333,110 +Tulsa,324,-6.3,-6,-12.3,-1.8,-0.6,-2.4,311,312,0.4,1.1,12,33,69.9,134,324,343,342,202 +Omaha,325,-5.5,-7,-12.4,-0.4,0.4,0,301,332,0.45,0.55,14,17,69.7,145,325,295,319,185 +The Citadel,326,-5.9,-6.7,-12.6,-0.9,0.4,-0.5,306,326,0.35,0.55,11,17,69.2,176,326,329,330,191 +Alabama A&M,327,-9.7,-2.9,-12.6,0.9,1.1,1.9,342,252,0.35,0.71,11,22,70.1,118,327,331,313,209 +NJIT,328,-6.5,-6.2,-12.7,0.8,-1.6,-0.8,314,318,0.31,0.76,9,22,67.5,268,328,346,317,12 +Presbyterian,329,-8.9,-4.1,-13,-1.5,0.6,-0.8,337,280,0.23,0.47,7,14,67.2,283,329,318,337,58 +Western Michigan,330,-3.4,-9.6,-13,-0.6,-0.2,-0.9,259,355,0.25,0.43,7,12,67.3,273,330,312,341,211 +William & Mary,331,-5.1,-8.2,-13.2,-0.6,0.6,0,293,346,0.29,0.52,9,16,67,292,331,340,334,41 +Central Arkansas,332,-5.8,-7.6,-13.4,-1.4,0.7,-0.7,305,341,0.23,0.97,7,29,73.3,15,332,337,328,253 +New Orleans,333,-6,-7.6,-13.6,1.7,1.7,3.4,307,340,0.33,0.6,10,18,72.7,26,333,297,336,297 +Elon,334,-7.5,-6.1,-13.6,-0.1,-1.1,-1.2,323,316,0.2,0.73,6,22,68.3,213,334,338,338,356 +Coppin State,335,-7.2,-6.6,-13.8,-0.4,0.3,0,322,323,0.38,0.78,12,25,74,6,335,306,332,357 +McNeese State,336,-5.3,-8.8,-14,0.3,0.1,0.4,296,351,0.3,0.73,10,24,68.1,228,336,327,326,308 +Central Connecticut,337,-8,-6.1,-14.1,-0.2,-0.7,-1,330,314,0.26,0.59,9,20,66.4,317,337,347,331,34 +Cal State Northridge,338,-8.9,-5.3,-14.2,-0.5,-0.7,-1.1,338,298,0.27,0.57,8,17,67.1,291,338,324,339,142 +Holy Cross,339,-9.7,-5,-14.7,-0.4,-1.3,-1.7,341,294,0.33,0.63,10,19,70.2,112,339,342,335,322 +Central Michigan,340,-10.9,-4,-14.9,-0.9,-1.4,-2.3,350,277,0.41,0.83,12,24,70.2,113,340,323,348,246 +VMI,341,-5.3,-9.6,-14.9,-0.3,-0.4,-0.7,297,356,0.21,0.79,6,23,68.5,202,341,299,353,361 +Albany,342,-7.9,-7.1,-15,1.1,0.5,1.6,329,334,0.3,0.67,9,20,69.5,163,342,358,343,221 +Arkansas-Pine Bluff,343,-11.2,-3.9,-15.1,-0.7,-0.1,-0.8,352,272,0.44,0.81,12,22,72,36,343,352,322,276 +Incarnate Word,344,-8.6,-6.9,-15.4,0.3,0.3,0.5,335,329,0.32,0.57,9,16,68.5,206,344,308,327,294 +Saint Francis (NY),345,-10.9,-4.7,-15.6,-0.3,0,-0.4,349,288,0.3,0.74,8,20,67.9,240,345,348,345,132 +Columbia,346,-10.2,-6.3,-16.5,0.5,-0.6,-0.2,347,319,0.19,1,5,27,71.6,44,346,355,346,234 +Hampton,347,-9.7,-6.9,-16.7,-0.9,0.5,-0.4,343,331,0.34,0.66,11,21,71.1,64,347,333,352,239 +Monmouth,348,-11.6,-5.1,-16.7,0.6,-0.5,0.2,353,296,0.3,0.85,10,28,70.2,114,348,349,357,267 +Houston Christian,349,-3.9,-13.1,-17.1,-0.9,0.6,-0.2,274,363,0.17,0.67,5,20,72,35,349,298,349,73 +Bethune-Cookman,350,-8.5,-8.8,-17.3,-0.1,-0.8,-0.8,334,352,0.17,0.83,5,25,70.4,98,350,345,350,122 +Alabama State,351,-11.9,-5.5,-17.4,-1.7,1.1,-0.6,355,304,0.23,0.8,7,24,69.5,162,351,361,347,205 +Evansville,352,-13.3,-5,-18.2,-0.6,-0.9,-1.6,359,293,0.41,0.84,13,27,70.9,72,352,353,354,150 +Eastern Illinois,353,-12.2,-6.2,-18.4,-0.9,0.1,-0.7,356,317,0.21,0.48,6,14,69.7,149,353,354,344,130 +South Carolina State,354,-8.4,-10.6,-18.9,-0.8,1.5,0.6,333,360,0.2,0.87,6,26,73.8,8,354,357,351,141 +Florida A&M,355,-14.1,-5,-19.1,-1.6,1.9,0.3,361,292,0.22,0.89,6,24,67.6,264,355,332,355,304 +Lamar,356,-10.1,-9.4,-19.5,0.2,-0.5,-0.3,346,354,0.25,0.61,7,17,67.9,244,356,351,356,299 +Lindenwood,357,-13,-7.5,-20.5,-0.2,-0.9,-1.1,358,338,0.41,0.59,12,17,69.2,171,357,334,340,67 +Delaware State,358,-12.6,-8.5,-21.2,-1.2,-0.4,-1.6,357,348,0.36,0.71,10,20,69.9,135,358,359,358,226 +Mississippi Valley State,359,-13.9,-8.6,-22.5,0.6,0.4,1,360,350,0.16,0.66,5,21,69.9,133,359,362,360,199 +Hartford,360,-10.9,-11.7,-22.6,-0.4,-0.5,-0.9,348,362,0.2,0.68,5,17,67,294,360,350,361,244 +IUPUI,361,-11.7,-11.6,-23.3,1.7,0.2,1.9,354,361,0.13,0.67,4,20,68.9,188,361,335,359,182 +Long Island,362,-14.4,-10.1,-24.5,-0.1,-0.8,-0.9,362,359,0.11,0.93,3,26,73.6,9,362,356,363,180 +Green Bay,363,-14.6,-10,-24.6,-0.2,-0.4,-0.6,363,357,0.06,0.97,2,31,67.2,278,363,,, \ No newline at end of file diff --git a/gamewinner/strategies/evanmiya/ievanmiya2.py b/gamewinner/strategies/evanmiya/ievanmiya2.py new file mode 100644 index 0000000..e9dc54b --- /dev/null +++ b/gamewinner/strategies/evanmiya/ievanmiya2.py @@ -0,0 +1,134 @@ +import csv +from abc import ABC +from pathlib import Path +from random import randint +from statistics import median +from typing import Callable + +from gamewinner.strategies.istrategy import IStrategy +from gamewinner.team import Team + +EVAN_MIYA_FILE = Path(__file__).parent.joinpath("data").joinpath("evanmiya-recent.csv") + + +class IEvanMiyaStrategy2(IStrategy, ABC): + """ + Class for strategies using Evan Miya data + The only thing you _have to_ implement is self._team_metric() + """ + + def prepare(self, teams: dict[str, Team]) -> None: + """ + Loads all the Evan Miya data and attaches it to the teams + """ + assert EVAN_MIYA_FILE.exists() + + with open(EVAN_MIYA_FILE, "r") as f: + reader = csv.reader(f) + reader.__next__() + for row in reader: + ( + name, + evanmiyaRank, + evanmiyaOBPR, + evanmiyaDBPR, + evanmiyaBPR, + evanmiyaOBPRChange, + evanmiyaDBPRChange, + evanmiyaBPRChange, + evanmiyaOffRank, + evanmiyaDefRank, + evanmiyaKillShotsPerGame, + evanmiyaKillShotsAllowedPerGame, + evanmiyaTotalKillShots, + evanmiyaTotalKillShotsAllowed, + evanmiyaTrueTempo, + evanmiyaTempoRank, + evanmiyaInjuryRank, + evanmiyaRosterRank, + evanmiyaResumeRank, + evanmiyaHomeRank, + ) = row + + # add all Evan Miya stats to relevant team if they're in the tournament + if name in teams: + team = teams[name] + setattr(team, "evanmiyaRank", int(evanmiyaRank)) + setattr(team, "evanmiyaOBPR", float(evanmiyaOBPR)) + setattr(team, "evanmiyaDBPR", float(evanmiyaDBPR)) + setattr(team, "evanmiyaBPR", float(evanmiyaBPR)) + setattr(team, "evanmiyaOBPRChange", float(evanmiyaOBPRChange)) + setattr(team, "evanmiyaDBPRChange", float(evanmiyaDBPRChange)) + setattr(team, "evanmiyaBPRChange", float(evanmiyaBPRChange)) + setattr(team, "evanmiyaOffRank", int(evanmiyaOffRank)) + setattr(team, "evanmiyaDefRank", int(evanmiyaDefRank)) + setattr(team, "evanmiyaTrueTempo", float(evanmiyaTrueTempo)) + setattr(team, "evanmiyaTempoRank", int(evanmiyaTempoRank)) + setattr(team, "evanmiyaInjuryRank", int(evanmiyaInjuryRank)) + setattr(team, "evanmiyaRosterRank", int(evanmiyaRosterRank)) + setattr( + team, + "evanmiyaKillShotsPerGame", + float(evanmiyaKillShotsPerGame), + ) + setattr( + team, + "evanmiyaKillShotsAllowedPerGame", + float(evanmiyaKillShotsAllowedPerGame), + ) + setattr(team, "evanmiyaTotalKillShots", int(evanmiyaTotalKillShots)) + setattr( + team, + "evanmiyaTotalKillShotsAllowed", + int(evanmiyaTotalKillShotsAllowed), + ) + setattr(team, "evanmiyaResumeRank", int(evanmiyaResumeRank)) + setattr(team, "evanmiyaHomeRank", int(evanmiyaHomeRank)) + + for team in teams.values(): + # make sure we found every team and added evanmiya attrs. + # could check all of them, but for now just check one. + assert hasattr(team, "evanmiyaRank"), f"skipped {team.name}" + + def _team_metric(self, team: Team) -> float: + raise NotImplementedError + + ######### + # everything below here can be overriden, or you can inherit the defaults + ######### + + def predict_score(self, winner: Team, loser: Team) -> tuple[int, int]: + return randint(70, 78), randint(61, 69) + + def pick(self, team1: Team, team2: Team) -> tuple[Team, Team]: + """ + By default, this picks the team with the higher self._team_metric() score + """ + team1_overall = self._team_metric(team1) + team2_overall = self._team_metric(team2) + + self._log.debug(f"----- {team1} vs. {team2}") + self._log.debug(f"{team1}: {team1_overall}") + self._log.debug(f"{team2}: {team2_overall}") + if team1_overall > team2_overall: + self._log.debug(f"----- {team1} wins") + return team1, team2 + else: + self._log.debug(f"----- {team2} wins") + return team2, team1 + + def _rank_to_percentile(self, rank: int, reverse: bool = False) -> float: + perc = max((251 - rank) / 250, 0) + if reverse: + perc = 1 - perc + return perc + + def _dumbayz(self, func: Callable, numdraws: int = 1000) -> float: + """ + A dumb Bayesian simulator. + Runs func() numdraws times and returns the median from all the runs + func -- a function that returns a float, i.e. a _team_metric() function) + numdraws -- number of times to run func(), defaults to 1000 + """ + ans = median([func() for x in range((numdraws - 1))]) + return float(ans) diff --git a/gamewinner/strategies/evanmiya/recency_bias.py b/gamewinner/strategies/evanmiya/recency_bias.py new file mode 100644 index 0000000..a921d4f --- /dev/null +++ b/gamewinner/strategies/evanmiya/recency_bias.py @@ -0,0 +1,71 @@ +import random +from typing import no_type_check + +from gamewinner.strategies.evanmiya.ievanmiya import IEvanMiyaStrategy2 +from gamewinner.team import Team + + +class RecencyBias(IEvanMiyaStrategy2): + """ + RecencyBias looks to reward teams playing their best basketball in the 30 + days leading up to the tournament. + + RecencyBias considers: + - Roster Rank (percentile) + - Season BPR + - Kill shots per game / Kill shots allowed per game ratio + - Last 30 day change in BPR + """ + + @property + def name(self) -> str: + return "RecencyBias" + + @no_type_check + def _team_metric(self, team: Team) -> float: + overall_score = ( + self._rank_to_percentile(team.evanmiyaRosterRank) + * team.evanmiyaBPR + + (team.evanmiyaKillShotsPerGame / team.evanmiyaKillShotsAllowedPerGame) + ) + + # recency factor + overall_score = overall_score + ( + 0.5 + * random.random() + + 3 * team.evanmiyaBPRChange + ) + + return overall_score + + +class RecencyBiasDumBayz(IEvanMiyaStrategy2): + """ + The Bayesian version of RecencyBias + Simulates the core strategy 1000 times and takes the median, + then modifies it with the recency score. + """ + + @property + def name(self) -> str: + return "RecencyBiasDumBayz" + + @no_type_check + def _team_metric(self, team: Team) -> float: + overall_score = self._dumbayz( + lambda: ( + random.random() + * self._rank_to_percentile(team.evanmiyaRosterRank) + * team.evanmiyaBPR + + (team.evanmiyaKillShotsPerGame / team.evanmiyaKillShotsAllowedPerGame) + ) + ) + + # recency factor + overall_score = overall_score + ( + 0.5 + * random.random() + + 3 * team.evanmiyaBPRChange + ) + + return overall_score