Thx. Been doing this algorithm for a bit for my sons' teams. It's a little complicated but basically it's how does each team typically do vs how other teams typically do for goal scoring and allowing goals, and then projecting those tendencies forward to future games.
It usually starts to get pretty accurate after every team has played every other team once.
Sometimes, I'll get lucky early on - like calling the the 8-1 LAFC vs RSC score - and other times, one team will have a good or bad game - like LAGSD beating LAUFA 3-2 - and none of the predicts, i.e. Goals Scored, Goals Allowed or outcome, will hold up.
Variations in predict vs actuals also occur when one team matches up well, or poorly, against another team. Usually when one team will have a big dominant forward(s) or a big dominant midfielder. And if a coach with a team who is playing is reading these predicts, obviously this could also throw the prediction accuracy way off.
In any case, the algorithm gives teams a gauge of how they're doing over time, even if they typically losing or if they're typically winning, because the algorithm and the prediction outputs has/have them competing against themselves and their past tendencies i.e. are they getting worse or better on defense or offense over time.
(probably not doing a great job explaining this but gave it a shot)