i'm creating a fantasy basketball model (could be used in other games too) where we can project how well a player will do against another team even when the player hasn't played against a certain team before. i have a statistics question about what i'm trying to do.

i have broken down each team into the 5 positions and have compiled data for how many fantasy points/minute a team gives up to their opposition in that position. so for example, the Lakers give up .984 fantasy points a minute to opposing teams centers which is above average (league average is .925). i have also compiled how many points every player in the league scores on average per minute. for example dwight howard, a center for the Rockets, scores on average 1.111 fantasy points/minute which is way above average (the league average is still .925)

now the tricky part where i need help is when i combine the two numbers. i'm trying to see if Player X plays vs Defense Y, how many points should i expect from that player assuming he plays a constant amount of minutes. so in this hypothetical example let's say i'm trying to project Howard's points vs the Lakers assuming he plays 30 minutes that game

what i've thought of is finding the deviation about the mean for each player relative to the average of all the other players' points/minute and then figuring out the deviation about the mean of how many points/minute an opposing team gives up to each specific position.

the problem with this is i dont know what to do next. i'm trying to find a way to use this data to create a somewhat accurate projection assuming i know how many minutes a player is going to play. i feel like this would involve a non-linear curve where top players and top defensive teams would be extremely effective while average players and defensive teams would produce marginal results and poor players and defensive teams would would give bad results.

any ideas on how i can further my model specifically with evaluating a player vs defense for position considering i know both of their averages vs the entire league? thanks in advance i've been thinking about this and playing with this for the last week!

  • 1
    $\begingroup$ You could look at regression analysis to determine how your parameters affect a player's score. $\endgroup$
    – Yaitzme
    Dec 1, 2014 at 14:02

1 Answer 1


Let $f(x,Y)$ denote the points a player x will score against a team Y. Let's attempt to do a basic prediction under the following assumption:

  • All teams have the same lineup throughout every match of the season

$f(x,Y) = R(x,Y) + [1+PC(Y, p(x))]*PS(X) $

  • $R(x,Y)$ - Random factor
  • $PC(Y, p(x))$ - Percentage boost/fall that team Y concedes to a player of position $p(x)$
  • $PS(X)$ - Points that player X is expected to score

Now, PS(x) can be derived by looking at the average points that player $x$ scores in the past season ($1.11*48=53$ for Dwight Howard in this case)

In the example you've given, the Lakers give a boost of approximately 6.3% points for an opponent center.

So, in total Dwight Howard would be expected to score $(1+0.063)*53+R(x,Y)≈57$

$R(x,Y)$ is a random factor which could be anything from a random-number generator output to seasonality (you could calculate a rough notion of seasonality based on his scores through the previous season) to just about any other parameter.

The above is just a basic venue to get started from. Various parameters(quality of teammates, time played, home/away) could be added to get a different prediction.

  • $\begingroup$ Thanks! That makes a lot of sense actually and that gets the gears going on adding other parameters $\endgroup$
    – pjlaffey
    Dec 1, 2014 at 20:46
  • $\begingroup$ @Nitreg - Sure! Do keep me posted on this via a blog or email, if possible. (my profile has my email id) $\endgroup$
    – Yaitzme
    Dec 2, 2014 at 9:38

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .