RotoGuru Baseball Forum

View the Forum Registry

XML Get RSS Feed for this thread


Self-edit this thread


0 Subject: A Generalized NBA Lottery process for Roto Leagues

Posted by: Guru
- [330592710] Sat, Jul 09, 2005, 14:38

In the Gurupie 20 Hoops league, we decided that we would replicate the NBA draft lottery process to assign draft orders for the coming year. The league has 20 teams. The top 6 teams finish “in the money”, and are not part of the lottery. The bottom 14 teams would be put in a lottery to determine the following year’s draft order.

I’ve had recent discussions with Ref (and some others) about how this process should be implemented, and whether a similar process could be developed for other leagues. The purpose, of course, is to protect against teams “tanking” in order to guarantee the top draft choice.

This thread serves multiple purposes, and will be organized into separate topics to facilitate exposition and discussion. Please wait until I have posted all of the topics before starting discussion. I’ll let you know when I’m done.

1. Describe the NBA philosophy, and the assignment of selection probabilities for each team.

2. Describe the underlying mechanics of the NBA’s random selection process.

3. Propose a generalized approach for producing a probability table for an N team lottery.

4. Propose a controlled, transparent process for selecting teams in the Gurupie 20 league (which could be executed for any league).

Here goes...
1Guru
      ID: 330592710
      Sat, Jul 09, 2005, 14:39
The NBA Basics

14 teams are part of the NBA lottery. The other 16 teams are in the playoffs.

Lottery teams are ranked by W/L record. The last place team is assigned a 25% chance of getting the first pick in the draft. The next-to-last place team is assigned a 20% chance. Each successive team has a reduced chance of getting the first pick, such that the lottery team with the best W/L has only a 0.5% chance.

If teams are tied, then their probabilities are essentially averaged.

Here is a link to the actual probabilities for recent NBA drafts. Notice that in 2005, New Orleans and Charlotte were tied with the second worst record. Since the process assigns probabilities as an integer number of chances per 1000, an exact averaging would have produced a chance of 177.5/1000 for each team. Somehow, a tiebreaker was applied to give one team chance of 178/1000 and the other 177/1000, eliminating the fractional element.

Using these probabilities, three teams are selected randomly. The first team selected is awarded the top draft pick. The next team selected gets the second pick, and the third team selected gets the third pick. After that, all remaining teams are assigned their pick in order of their relative probabilities. Thus, if the worst team is not selected for one of the top 3 picks, it automatically gets the 4th pick.

In the NBA, the lottery order is only used for the first round. The second round reverts to the reverse order of standings.
2Guru
      ID: 330592710
      Sat, Jul 09, 2005, 14:40
The NBA random selection mechanics

Once probabilities have been assigned to each team, the NBA needs a method to randomly select a team according to those probabilities. The process is executed behind closed doors, so we don’t see it, but it is publicly disclosed after the fact.

The basis of the selection is a lotto-style ping pong ball process. 14 balls, numbered 1-14, are placed in a container, and four balls are drawn randomly. Each unique combination of 4-balls maps to a specific team.

How/why does this work?

The key is that there are exactly 1001 possible combinations of 4 balls drawn from a sample of 14 (without replacement). If we treat one of these possibilities as a “do over”, then we conveniently have 1000 active combinations.

The order of ball selection is irrelevant. A draw of 1-3-5-7 is equivalent to a draw of 5-1-7-3.

Prior to the selection of the balls, a table is developed which maps each number combination to a specific team. Since the last place team has a 25% selection probability, then 250 of the 4-ball combinations are assigned to that team. Similarly, only 5 of the combinations are assigned to the best team. Each possible combination (excluding the inactive one) is preassigned to a team.

When the 4 balls are drawn, it is a simple process to look up that combination in the table to see which team is the lucky one. Assuming that the ball selection process is truly random, one would expect the worst team to be selected 25% of the time, since 250 of the possible combinations are assigned to that team.

Once the first team is selected (and awarded the top pick), the balls are replaced and the process is repeated for the second pick. The same table is used, with the proviso that if a duplicate team is selected, then that result is ignored and the process is repeated again.

Ditto for the third pick.

In the NBA draft ceremony, the balls selection is done in advance, and the resulting team selections are placed in envelopes. So you don’t actually see the ping pong balls being drawn. But that is how it’s done. Or so we’re told.
3Guru
      ID: 330592710
      Sat, Jul 09, 2005, 14:44
A generalized approach for determining probabilities

In the Gurupie 20 league, we decided to use the same probabilities as those used in the NBA, since we also had 14 teams in our lottery. However, this will need some minor adjustment, since W/L ties in the NBA won’t coincide with our standings. So we’ll need a table of 14 probabilities that assumes no ties. We can then decide how and if to handle ties in our league.

The process for determining the underlying probabilities is not disclosed (that I could find, at least), but the pattern over the years looks pretty consistent. I decided to make up a table in which the top (worst) team gets a 25% chance, the next team gets a 20% chance, and the rest of the probabilities are defined subject to the following constraints:
1. The ratio of each successive pair of probabilities is a constant, and
2. The sum of the probabilities, when rounded, generates a table of integers (chances per 1000) that sums to exactly 1000. Since the first two probabilies are preset (25% and 20%), the ratio constraint only applies from that point on.

Using this approach, the ratio works out to be .7385 for a 14 team lottery. Each probability is 73.85% of the one before it. Here is the entire table of chances per 1000:

Team 1: 250
Team 2: 200
Team 3: 148
Team 4: 109
Team 5: 81
Team 6: 59
Team 7: 44
Team 8: 32
Team 9: 24
Team 10: 18
Team 11: 13
Team 12: 10
Team 13: 7
Team 14: 5
Sum: 1000

As an example, the 12th place team (Team 3) has a 148/1000 chance of selection. The 11th place team has a 109/1000 chance, etc.

While this doesn’t appear to exactly replicate the NBA table, it does come close to the correct shape, and has the same endpoints. Further, it can easily be generalized for any other number of teams.

There are certainly other viable ways to generate the probabilities. If anyone has a different proposal, feel free to suggest it. For the rest of this discussion, I’ll assume we use this approach, but the method for creating the probabilities is independent of the remainder of the process, so any set of probabilities can be substituted.
4Guru
      ID: 330592710
      Sat, Jul 09, 2005, 14:47
Logistically implementing the process

Now that we have the selection probabilities established, we need a randomized process to select 3 teams according to that distribution. Using a computer, there are fairly simple ways to pull a random number between 0 and 1 to define a selection. But I wanted to try to replicate the NBA process, so that’s how I have proceeded.

Therefore, we will first need to define a table of combinations for 4 numbered balls selected from a sample of 14 balls. As mentioned earlier, there are 1001 possible combinations. Assume this is done (spreadsheet to follow).

Next, we need to map each of the 1001 combinations to specific teams, using the correct proportions. We will assign one combination as a “do over”, and the other combinations will be assigned in proportion to the table probabilities in post 3. Thus, 250 of the combinations will be assigned to team 1, 200 to team 2, etc. Only 5 combinations will be assigned to team 14.

We can assign these team names to a sequentially sorted list of the combinations, or we can do it randomly. I’d suggest we first randomize the list of combinations, and then assign the top 250 of this randomly arranged list to team 14, the next 200 to team 13, etc. We don’t really need to randomize the order of assignment, but it does appear to diffuse any potential bias in the eventual ball selection process. Of course, we expect that there will be no such bias.

This table will be published in advance of the lottery.

Now we need to draw the ping pong balls. To assure control and transparency, we want to make sure that the drawing can be “witnessed”. However, the use of an internet-based drawing seems to be a necessity. So here is my solution.

1. We will use a lottery simulator at random.org. The specific URL for this process is http://random.org/sform.html, where we will input a minimum of 1 and a maximum of 14. This process will simulate a random drawing of all 14 balls, but we are only interested in the first four balls selected.

2. In order to provide witnesses, I have written a program that will execute the lottery program and immediately email the results to a list of email addresses. This way, the person who is generating the random draw will have no opportunity to “cherry pick” a favorable draw. The results of the four ball selection can then be referenced by all recipients (and also copied to the forum), so that everyone (who wants to) can look up that combination in the pre-published table to see which team is assigned to that combination.

3. The process is repeated 3 times (or more, if a duplicate team is selected).


A sample table of ball combo assignments is provided as a spreadsheet and as a text file. The first column is a set of random numbers from 1-1001 which was used to order a sorted listing of combinations. The assignments were made sequentially to the randomly ordered list, and then the list was resorted in combination order in order to facilitate lookup.

Spreadsheet: http://rotoguru1.com/14x4_balls.xls

Text file: http://rotoguru1.com/14x4_balls.prn

As an example, if the combination of 2-5-10-14 was drawn, the resulting team would be “Team 6”. If the next draw produced the combination of 5-6-12-14, then resulting selection is “Team 5”, which would be awarded the second pick. A final draw of 1-2-6-12 would yield “Team 1” for the third pick. Notice that in this example, the last place team is still designated as “Team 1”.

The ball combinations drawn would be easily verifiable because several people would have received them in an email.
5Guru
      ID: 330592710
      Sat, Jul 09, 2005, 14:47
That’s it. I realize that there are simpler ways to go about this, but since our Hoops league had already decided to use the NBA approach, I figured that we might as well mimic the mechanics as closely as possible, even though there are simpler ways to go about it. If nothing else, the ping pong ball approach is marginally more entertaining than a simple draw of a single number between 0 and 1.

The other issue was to make the process transparent and auditable, so that everyone could be confident that the process was as objective as possible. Hopefully, the email process provides sufficient assurance. Everyone in the league could simultaneously get a copy of each ball draw as they are generated.

If other leagues are interested in this process, I’d be happy to assist in the production of any element. Now that I have it all worked out, changing any of the variables should be pretty simple.

OK. Now is the time to discuss, if your brain is not already fried. Feel free to discuss the NBA process itself, or the mechanics I have proposed to implement it for general use.

Your turn.
6Great One
      ID: 95201914
      Sun, Jul 10, 2005, 19:15
In the Jeepers Keepers league we are just going to use a draft simulator and let it do all the work for a rookie draft. (there is a link to it in that thread). We just kind of paired up a gurupie with the corresponding team i.e. last place in our league got the most ping pong balls (Atlanta?)... and so on and so on.
7Ref
      Donor
      ID: 539581218
      Sun, Jul 10, 2005, 21:41
Since we have 14 teams like the NBA does, Guru mentioned that we could have paired our league up with that of the NBA and simply used their results, but didn't think of it until after the NBA lottery had already taken place.
8Great One
      ID: 95201914
      Sun, Jul 10, 2005, 23:07
you still can... this is just a tool to do so and to keep everything proportioned correctly etc..
lottery simulator
9Ref
      Donor
      ID: 539581218
      Sun, Jul 10, 2005, 23:23
Great One, the problem with using that is the ties with NO and Charlotte and Lakers/Golden State skew your data. Those teams have been averaged and apparently the NO and Char have had a coin flip to see who gets one more ball in the hopper. Also, what if one of your member teams tie?
10 Ref
      Donor
      ID: 539581218
      Mon, Oct 09, 2006, 16:21
We use this exact method in Gurupie 20 Hoops and Gurupie 20 Baseball and use an altered version in Gurupie 24 Football (we draw 4 teams and there are 16 teams available to win).

I've seen a dramatic increase in activity late in the year from the teams "out of the money" which helps the overall competitveness in the league as the top teams have to compete in categories against teams that have no chance.

Last year in Hoops, the top 3 teams all happened to get the top 3 balls (and in order). But in football we had like a 10th place manager hit the top 4 and in our lottery just today the picks went to #1, #6 and #9 most likely to win.

If you want to help your keeper league out, I highly recommend you taking advantage of Guru's offer to assist your league in setting this up.

If you have any other keeper league questions, I'll also be glad to help.
Rate this thread:
5 (top notch)
4 (even better)
3 (good stuff)
2 (lightweight)
1 (no value)
If you wish, you may rate this thread on scale of 1-5. Ratings should indicate how valuable or interesting you believe this thread would be to other users of this forum. A '5' means that this thread is a 'must read'. A '1' means that this is a complete waste of time.

If you have previously rated this thread, rating it again will delete your previous rating.

If you do not want to rate this thread, but want to see how others have rated it, then click the button without entering a rating, or else click here.

RotoGuru Baseball Forum

View the Forum Registry

XML Get RSS Feed for this thread


Self-edit this thread




Post a reply to this message: (But first, how about checking out this sponsor?)

Name:
Email:
Message:
Click here to create and insert a link
Click here to insert a random spelling of Mientkiewicz
Ignore line feeds? no (typical)   yes (for HTML table input)


Viewing statistics for this thread
Period# Views# Users
Last hour11
Last 24 hours11
Last 7 days54
Last 30 days1312
Since Mar 1, 20072497965