I calculate odds in lots of sports based on sets/frames/legs etc like tennis or darts or snooker. One problem I keep coming across is where I have calculated odds for say a darts leg and then want to get the odds for the match from that. There must be a formula I can use to quickly do the calculation. Can anyone help?
For example say I have a darts match where I have calculated that with the darts player A has a 75% chance of winning a leg and without them he has a 60% chance. Player A goes first. I can calculate that the chance of him winning a best of 5 match is 82.6875% using a recursive routine. This is just for a simple example so I assume player A throws first for any fifth leg. The trouble comes when I have to calculate say a best of 31 legs match. Recursion then just takes too long. Any maths geniuses out there who can help with a formula?
A simple way to do this is a Markov chain in Excel. You create a grid reflecting each of the possible scores in the match. Player A score along the top and Player B on the vertical axis.
You can then simply enter formulae reflecting the chance of winning or losing each leg and moving to the respective next scoreline. Any scoreline that ends the leg is simply a 1 or 0. The beauty of this approach is that it is very simple to copy & paste the formulae, and also you can take the odds to win the set and plug that into another chain that calculates the odds to win the match. I would also caution however that the odds given by this approach may not reflect the odds as well as more complex regression type approaches, especially early in a match.
Here's my attempt at a table, I've never done it before so it's a coin flip whether this will be a complete mess:
Score
0
1
2
0
=0.75*C2+0.25*B3
=0.6*D2+0.4*C3
=0.75*E2+0.25*D3
1
1
=0.6*C3+0.4*B4
=0.75*D3+0.25*C4
=0.6*E3+0.4*D4
1
2
=0.75*C4+0.25*B5
=0.6*D4+0.4*C5
=0.75*E4+0.25*D5
1
3
0
0
0
A simple way to do this is a Markov chain in Excel. You create a grid reflecting each of the possible scores in the match. Player A score along the top and Player B on the vertical axis.You can then simply enter formulae reflecting the chance of wi
Thanks KR. This is similar to what I did to check my vba recursive routine. But I'm processing many many historical matches and this approach just becomes impractical when darts/snooker games have a lot of legs/frames. What I'll probably end up doing is creating a massive database table of all possible combinations and then just use a query to access the combination I need.
Thanks KR. This is similar to what I did to check my vba recursive routine. But I'm processing many many historical matches and this approach just becomes impractical when darts/snooker games have a lot of legs/frames. What I'll probably end up doing
Here's a spreadsheet my lovely one and only; Sunday = chardonnay day, so i'm feeling generous; here's an old spreadsheet, i've just added a few notes. I don't bother with the snooker anymore, but if you find it a goldmine and make a fortune, let me know and i'll DM an address for you to send me a crate of wine :-)
Here's a spreadsheet my lovely one and only; Sunday = chardonnay day, so i'm feeling generous; here's an old spreadsheet, i've just added a few notes. I don't bother with the snooker anymore, but if you find it a goldmine and make a fortune, let me k