=== Step 1 ===
Let's say two teams A and B played n matches with each other, and A won m times. Using a flat beta distribution, the probability of winning the next time is as follows: (m + 1) / (n + 2).
As you can see, if m and n are large numbers, this is approximately equal to m / n.
=== Step 2 ===
In your case, I propose the following strategy.
Let m = mp + md + mr and n = np + nd + nr
Suffixes p mean advance, d means direct, and r means indirect.
You can set mp and np to 1 and 2 respectively (assuming they were flat earlier) or in an advanced way (described in detail at the end)
md and nd - wins and games.
mr and nr are computed with some strategy.
In the end, the probability of winning is A (mp + md + mr) / (np + nd + nr).
=== Step 3 ===
How to calculate mr and nr:
You can use some kind of moisturizing. For instance. If A def C and C def B, consider it as p for A versus B. For longer chains, use exponential decay.
The optimal value of p can be calculated using cross-validation, in which you do not take into account a certain part of the data and use p, which maximizes the probability of this data without deduction. For your specific problem, I suggest abandoning games between a pair, an estimated probability, and a comparison with actual values.
You can use: k * log ^ 2 (s / t) as a penalty, where k is the number of games between the left side of A and B, s is the predicted and t is the actual probability of winning A. You can also use something like KL- discrepancies.
=== Step 4 ===
Repeat mp and np settings.
To do this, you need to have many different matches between the same teams.
For each pair of teams, the probability of winning and conspiracy is calculated. If it looks flat using 1 and 2, like mp and np, that's fine. Otherwise, go to http://en.wikipedia.org/wiki/Beta_distribution and select the best match.