Modelling the evolution of odds overtime

Football, Soccer - whatever you call it. It is the beautiful game.
Post Reply
Rety2003
Posts: 2
Joined: Sun Feb 09, 2025 11:33 am

Hi,

I am looking to model the evolution of odds overtime in the 1X2 market. What I have done so far is create a table with various scorelines up to 6-6 and then used a decaying expected goals (scaled by the proportion of time remaining) as the lambda for the poisson distribution for every minute of the game.

How would I go about turning these expected goals per minute into odds that move like the actual market. I have tried various methods but none seem to work.

What I had in mind is to make a new table with columns minutes (0-90), home goals, away goals p(home), p(away) and p(draw) then convert the probabilities to odds and plot them. As the game is happening I would input the scoreline in the corresponding minute and the probabilities would dynamically adjust, as would the odds.

Has anyone had any success doing something similar?

Perhaps I am going about this all wrong, though.

I would really appreciate the help. Thanks in advance.
Atho55
Posts: 678
Joined: Tue Oct 06, 2015 1:37 pm

If you are looking at how it can be factored over 90m you could try this.

Goal Expectation over 90m.png
You do not have the required permissions to view the files attached to this post.
Rety2003
Posts: 2
Joined: Sun Feb 09, 2025 11:33 am

Thanks for the reply. This is exactly what I have been trying to build.

Could you explain the logic behind the formula please? Specifically why you raise it to the power of of C4 which is 0.85.
TupleVision
Posts: 74
Joined: Wed Feb 12, 2025 12:19 pm

Rety2003 wrote:
Fri Feb 14, 2025 11:17 am
Thanks for the reply. This is exactly what I have been trying to build.

Could you explain the logic behind the formula please? Specifically why you raise it to the power of of C4 which is 0.85.
For what it's worth you want to look into something called poisson probability mass function, you'd have something like this in python

Code: Select all

def poisson_pmf(k, lambda_):
    return (lambda_**k * math.exp(-lambda_)) / math.factorial(k)
Revenant
Posts: 25
Joined: Fri Dec 20, 2024 2:09 pm

Rety2003 wrote:
Fri Feb 14, 2025 11:17 am
Thanks for the reply. This is exactly what I have been trying to build.

Could you explain the logic behind the formula please? Specifically why you raise it to the power of of C4 which is 0.85.
This link probably explains it best, down to the fact more goals are scored in the second half.

https://thepowerofgoals.blogspot.com/20 ... t-ten.html
Post Reply

Return to “Football trading”