Description
Mathematical model for predicting the 20th round of the Spanish Primera RFEF – Group 1: Quantitative analysis and harmony index
Modern sports analysis in professional football has undergone a fundamental transformation, moving from intuitive judgments to rigorous computational protocols. The Spanish Primera RFEF – Group 1, representing the third level of the hierarchy in Spanish football, offers an extremely rich environment for statistical modeling due to the combination of historical clubs with conservative tactical schemes and duplicate teams of elite giants, which introduce high dynamics and variability into the data. By the 20th round of the 2025/2026 season, the accumulated information allows the generation of precise mathematical forecasts based on an eight-level computational model that aims not only to predict the final result, but also to assess its structural stability through the specific harmony index. 1
The protocol used in this analysis focuses on transforming raw scores of wins, draws, losses, and goals into dynamic scores for attack and defense strength. By using a Poisson distribution and filtering the results through stability coefficients ($K$) and a draw index ($L$), a level of objectivity is achieved that minimizes the influence of short-term emotional fluctuations in the betting market. 3
Statistical foundation and current state of the league
Before examining each match in detail, it is necessary to analyze the macro-framework of the Primera RFEF – Group 1 after the end of the 19th round. The data points to a clear leader in the person of CD Tenerife, who has demonstrated an unusual defensive resilience for this level of football. 4 The team has conceded only 10 goals in 19 matches, making it a statistical benchmark for defensive strength ($SD$) within the applicable model. 7
The fight for the playoff spots is extremely tight, with minimal differences between the affiliates of Celta Vigo, Real Madrid and Athletic Bilbao. This generates a high value for the equality index ($L$) in head-to-head matches, as these teams share similar offensive profiles but differ significantly in their defensive discipline. 1
Summary table of indicators before the 20th round
| Team | Matches played | Wins (%) | Ties (%) | Losses (%) | Goals scored (avg.) | Goals conceded (avg.) |
| CD Tenerife | 19 | 73.68 | 10.53 | 15.79 | 1.84 | 0.53 |
| Celta Vigo B | 19 | 57.89 | 15.79 | 26.32 | 1.53 | 1.21 |
| Pontevedra | 19 | 47.37 | 31.58 | 21.05 | 1.32 | 0.84 |
| Real Madrid B | 19 | 52.63 | 5.26 | 42.11 | 1.32 | 1.32 |
| Athletic Club B | 19 | 47.37 | 21.05 | 31.58 | 1.21 | 1.21 |
| Zamora | 19 | 42.11 | 31.58 | 26.32 | 1.37 | 1.11 |
| Racing Ferrol | 19 | 47.37 | 15.79 | 36.84 | 1.26 | 1.11 |
| Lugo | 19 | 36.84 | 42.11 | 21.05 | 0.95 | 0.74 |
| Merida | 19 | 42.11 | 15.79 | 42.11 | 1.42 | 1.42 |
| Real Aviles | 19 | 42.11 | 15.79 | 42.11 | 1.42 | 1.47 |
| Barakaldo | 19 | 31.58 | 42.11 | 26.32 | 1.37 | 1.11 |
| Arenas Getxo | 19 | 36.84 | 15.79 | 47.37 | 1.21 | 1.42 |
| Ourense CF | 19 | 26.32 | 36.84 | 36.84 | 1.16 | 1.32 |
| CF Talavera | 19 | 31.58 | 15.79 | 52.63 | 1.05 | 1.16 |
| Unionists | 19 | 26.32 | 31.58 | 42.11 | 1.11 | 1.37 |
| Ponferradina | 19 | 26.32 | 26.32 | 47.37 | 1.00 | 1.16 |
| CD Arenteiro | 19 | 26.32 | 21.05 | 52.63 | 0.74 | 1.11 |
| Osasuna B | 19 | 21.05 | 31.58 | 47.37 | 0.63 | 1.11 |
| Guadalajara | 19 | 21.05 | 31.58 | 47.37 | 1.00 | 1.58 |
| Cacereno | 19 | 15.79 | 36.84 | 47.37 | 0.84 | 1.47 |
Source: Synthesized data from Soccerway and Fotmob after 19 rounds. 1
This database reveals significant deflation in goal values in the bottom half of the table, where teams like Osasuna B and Arenteiro are chronically struggling in the forward positions. This necessitates adapting the xG model to account for these structural deficits. 4
Algorithmic Protocol: Calculation Methodology
To ensure maximum accuracy, each prediction in this report goes through a nine-step verification process. This process is the essence of “Cara” – the role of a mathematical advisor who derives objective estimates from chaotic sports data. 3
First calculation: Base array extraction
The process begins by calculating the percentage ratios of results and the average values of goals scored and conceded for each participant. These data are not just a historical reference, but represent the inertial potential of the team. Unlike standard analyses, all matches since the beginning of the season are taken into account here, which provides a greater statistical volume and reduces the influence of single “extraordinary” results. 3
Second and third calculation: Dynamic forces
Next is the definition of Attack Strength ($SA$) and Defense Strength ($SD$). The formula for the attack is specific:
$$SA = (\% \text{Wins}) + (\% \text{Loss}) + (\text{Average number of goals scored} )$ $
This approach seems paradoxical at first glance, including the loss percentage. However, the mathematical logic is that a high loss percentage, combined with a good average number of goals, indicates a team that plays openly and risky – a factor that increases offensive power at the expense of stability. 3
For protection, the formula is reciprocal:
$$SD = 1 / [(\% \text{Wins}) – (\% \text{Loss}) + (\text{Average number of goals conceded}) ]$ $
The goal here is to isolate defensive capacity – the greater the difference between wins and losses in favor of wins and the fewer goals conceded, the lower the value in the denominator and the correspondingly higher the defense index. 3
Fourth to Eighth Calculation: Forecasting and Indexing
The fourth step defines the Expected Goals (xG) for the match. This is the arithmetic mean between the attacking strength of one team and the defensive weakness of the other:
$$xG _{ \text{host}} = (SA_{\text{host}} + SD_{\text{guest}}) / 2$$
$$xG _{ \text{guest}} = (SA_{\text{guest}} + SD_{\text{host}}) / 2$$
These values are inserted into the Poisson distribution (Fifth calculation) to obtain the probabilities of 1, X, and 2. 3
The key point in the model is the calculation of the Stability ($K$) and the Draw Index ($L$). Stability measures the standard deviation of the probabilities, while the Draw Index analyzes the balance between the two teams:
$$L = | |SA _{ \text{home}} – SA_{\text{guest}}| – |SD_{\text{home}} – SD_{\text{guest}}| |$$All these parameters are combined into the Harmony Index ($HI$):
$$HI = (2 / K) + (1 / (1 – L) )$ $
Values above 100 are classified as ‘Platinum Selection’, and above 90 as ‘High Confidence’. 3
Analysis of the matches from the 20th round
Athletic Bilbao B vs. Real Aviles CF (January 16, 2026)
This clash opens the round and pits the fifth against the tenth in the standings. Athletic Bilbao B is a classic example of a duplicate team – high technical literacy, but variable mental resilience. Real Aviles, on the other hand, is a tough opponent, occupying the golden middle of the table with an absolutely even balance of wins and losses (8-3-8). 5
Mathematical breakdown:
- Ath Bilbao B: W% = 0.47, L% = 0.32, GF = 1.21, GA = 1.21.
- $SA _{ \text{home}} = 0.47 + 0.32 + 1.21 = 2.00$.
- $SD _{ \text{home}} = 1 / (0.47 – 0.32 + 1.21) = 1 / 1.36 = 0.74$.
- Real Aviles: W% = 0.42, L% = 0.42, GF = 1.42, GA = 1.47.
- $SA _{ \text{guest}} = 0.42 + 0.42 + 1.42 = 2.26$.
- $SD _{ \text{guest}} = 1 / (0.42 – 0.42 + 1.47) = 1 / 1.47 = 0.68$.
- xG calculations:
- $xG _{ \text{home}} = (2.00 + 0.68) / 2 = 1.34$.
- $xG _{ \text{guest}} = (2.26 + 0.74) / 2 = 1.50$.
When applying Poisson, the exit probabilities show a slight advantage for the away team, but within the statistical noise. The V3 value is -0.05, which directly points to the “X” prediction. 3 The stability of the model is moderate ($K = 0.42$), which in combination with the low equality index ($L = 0.20$) generates a Harmony Index of around 5.9. This is not enough for Platinum status, but it is a solid indicator of a balanced match. 3
Pontevedra vs. CD Arenteiro (January 17, 2026)
Pontevedra are in phenomenal form with five consecutive wins. 1 The team has become a defensive fortress, conceding less than 1 goal per game on average. Arenteiro, in 17th place, is in the relegation zone and has one of the weakest attacks in the group (only 14 goals in 19 games). 7
Mathematical breakdown:
- Pontevedra: W% = 0.47, L% = 0.21, GF = 1.32, GA = 0.84.
- $SA _{ \text{home}} = 0.47 + 0.21 + 1.32 = 2.00$.
- $SD _{ \text{home}} = 1 / (0.47 – 0.21 + 0.84) = 1 / 1.10 = 0.91$.
- Arenteiro: W% = 0.26, L% = 0.53, GF = 0.74, GA = 1.11.
- $SA _{ \text{guest}} = 0.26 + 0.53 + 0.74 = 1.53$.
- $SD _{ \text{guest}} = 1 / (0.26 – 0.53 + 1.11) = 1 / 0.84 = 1.19$.
In this match, the model captures a large divergence. Although the xG indicators are close ($1.60$ vs. $1.22$), Pontevedra’s defensive strength ($0.91$) is too high for Arenteiro’s anemic attack. The V3 value is +0.12, which is a clear indication of a home win (“1”). 3 With low odds (1.48 in the screenshot), this match is considered a “safe haven” for “Banker” bets. 3
CF Talavera vs Celta Vigo B (January 17, 2026)
Talavera are in 14th place and are struggling to keep their distance from the bottom, while Celta Vigo B (Celta Fortuna) are the main pursuers of leader Tenerife. Celta’s affiliate is the most balanced offensive team, with a W% of nearly 58%. 1
Mathematical breakdown:
- CF Talavera: W% = 0.32, L% = 0.53, GF = 1.05, GA = 1.16.
- $SA _{ \text{home}} = 1.90$; $SD_{\text{home}} = 1.05$.
- Celta Vigo B: W% = 0.58, L% = 0.26, GF = 1.53, GA = 1.21.
- $SA _{ \text{guest}} = 2.37$; $SD_{\text{guest}} = 0.65$.
The comparison of the attacking power ($1.90$ vs. $2.37$) gives a serious advantage to the visitors. The xG for the visitors is $1.71$, while for the hosts it is only $1.27$. The V3 value is -0.11, which classifies the match as “X2” (draw or win for the visitors). 3 The harmony index here is influenced by the high defense of the hosts, which can limit the effectiveness. 3
Zamora vs Tenerife (January 17, 2026)
This is without a doubt the derby of the 20th round. The sixth against the first. Tenerife is the dominant force, but Zamora is on a streak of positive results (3 wins and 2 draws in the last 5 matches) and has not conceded a goal in 3 of these matches. 5
Mathematical breakdown:
- Zamora: W% = 0.42, L% = 0.26, GF = 1.37, GA = 1.11.
- $SA _{ \text{home}} = 2.05$; $SD_{\text{home}} = 0.79$.
- Tenerife: W% = 0.74, L% = 0.16, GF = 1.84, GA = 0.53.
- $SA _{ \text{guest}} = 2.74$; $SD_{\text{guest}} = 0.90$.
Here we see a clash of defensive titans. The leader Tenerife has an extremely high defensive strength ($0.90$), but Zamora is not far behind ($0.79$). The xG values are $1.47$ for the home team and $1.76$ for the away team. Since V3 is -0.06, the algorithm clearly chooses “X” as the most likely outcome. 3 The match is in the “Derby” category, where the market price for “2” (2.14) is greatly underestimated from an algorithmic point of view. 11
Ponferradina vs Racing Club Ferrol (January 17, 2026)
Ponferradina is the big disappointment of the season, occupying 16th place after a series of losses (LLLTL). Racing Ferrol is in seventh position and has shown stability that keeps them in the fight for the playoffs. 1
Mathematical breakdown:
- Ponferradina: W% = 0.26, L% = 0.47, GF = 1.00, GA = 1.16.
- $SA _{ \text{home}} = 1.73$; $SD_{\text{home}} = 1.05$.
- Racing Ferrol: W% = 0.47, L% = 0.37, GF = 1.26, GA = 1.11.
- $SA _{ \text{guest}} = 2.10$; $SD_{\text{guest}} = 0.83$.
The analysis shows that Ponferradina’s crisis is not only productive, but also structural – their attack is one of the weakest ($1.73$). The xG for the away team ($1.57$) is significantly higher than that for the home team ($1.28$). With a V3 of -0.09, the prediction is “X2”. 3 Given the form, this is one of the matches with the highest statistical confidence in favor of the away team. 11
Ourense CF vs Osasuna B (January 18, 2026)
A direct battle for survival. Ourense (13th) vs. Osasuna B (18th). Both teams have serious deficits in offensive terms, making the match “low-scoring” by definition. 1
Mathematical breakdown:
- Ourense CF: W% = 0.26, L% = 0.37, GF = 1.16, GA = 1.32.
- $SA _{ \text{home}} = 1.79$; $SD_{\text{home}} = 1.01$.
- Osasuna B: W% = 0.21, L% = 0.47, GF = 0.63, GA = 1.11.
- $SA _{ \text{guest}} = 1.31$; $SD_{\text{guest}} = 0.74$.
The calculations for Osasuna B are worrying – an average of less than 0.7 goals per game. The xG values are low for both teams ($1.26$ and $1.16$). The V3 is +0.07, which according to the protocol is “1X”. 3 Ourense’s home advantage will be decisive in this psychological clash. 11
Cacereno vs Arenas Getxo (January 18, 2026)
Last-placed Cacereno hosts mid-table Arenas Getxo. The hosts are on a bad run of form, but their latest win could be a sign of change. However, the statistics remain grim – just 16% wins. 1
Mathematical breakdown:
- Cacereno: W% = 0.16, L% = 0.47, GF = 0.84, GA = 1.47.
- $SA _{ \text{home}} = 1.47$; $SD_{\text{home}} = 1.26$.
- Arenas Getxo: W% = 0.37, L% = 0.47, GF = 1.21, GA = 1.42.
- $SA _{ \text{guest}} = 2.05$; $SD_{\text{guest}} = 0.95$.
The difference in strength is obvious. Arenas Getxo has a better attacking arsenal. The xG figures ($1.21$ vs. $1.65$) and V3 value of -0.13 strongly point to “X2”. 3 This is a match in which Cacereno’s defense is likely to crack at least once.
Lugo vs. Unionistas (January 18, 2026)
Lugo is eighth in the standings and is the team with the most draws in the group (8 out of 19 matches). Unionistas is in 15th place and also shares a conservative approach to the game. 1
Mathematical breakdown:
- Lugo: W% = 0.37, L% = 0.21, GF = 0.95, GA = 0.74.
- $SA _{ \text{home}} = 1.53$; $SD_{\text{home}} = 1.12$.
- Unionistas: W% = 0.26, L% = 0.42, GF = 1.11, GA = 1.37.
- $SA _{ \text{guest}} = 1.79$; $SD_{\text{guest}} = 1.05$.
This match is a statistical paradise for draw lovers. The draw index ($L$) is extremely low, which means a perfect balance. The V3 is -0.04, which is a classic “X”. 3 Predicted goals point to a close match with few chances.
Barakaldo vs. Guadalajara (January 18, 2026)
Barakaldo (11th) is a typical home team that collects points on their own field. Guadalajara (19th) has the worst defense in the league (30 goals conceded). 1
Mathematical breakdown:
- Barakaldo: W% = 0.32, L% = 0.26, GF = 1.37, GA = 1.11.
- $SA _{ \text{home}} = 1.95$; $SD_{\text{home}} = 0.85$.
- Guadalajara: W% = 0.21, L% = 0.47, GF = 1.00, GA = 1.58.
- $SA _{ \text{guest}} = 1.68$; $SD_{\text{guest}} = 0.79$.
Guadalajara’s poor defensive record makes them vulnerable. However, Barakaldo does not have a super-powerful attack. The xG is $1.37$ to $1.26$. The V3 value is +0.08, which puts the match in the “1X” column. 3 The 1.69 odds are tempting, but require caution due to the home team’s tendency to draw.
Real Madrid B vs. AD Merida (January 18, 2026)
Real Madrid’s Castilla affiliate is in fourth place and in an excellent position to attack the playoffs. AD Merida (9th) is a solid team that can surprise at any stadium. 1
Mathematical breakdown:
- Real Madrid B: W% = 0.53, L% = 0.42, GF = 1.32, GA = 1.32.
- $SA _{ \text{home}} = 2.27$; $SD_{\text{home}} = 0.70$.
- AD Merida: W% = 0.42, L% = 0.42, GF = 1.42, GA = 1.42.
- $SA _{ \text{guest}} = 2.26$; $SD_{\text{guest}} = 0.74$.
Here we see almost mirror figures. The offensive power of both teams is high ($2.27$ and $2.26$). xG is $1.50$ versus $1.48$. V3 is +0.01 – the perfect mathematical “X”. 3 The match will be high-intensity and likely with goals in both goals.
Summary table of forecasts and Harmony index
After completing all nine calculation steps for each match, the data is synthesized into the following summary table. It serves as a final guide for Round 20, highlighting the match categories and recommended outcomes. 3
| Meeting | xG (Home:Guest) | Forecast | Verdict (V3) | Category | Coefficient |
| Athletic B – Real Aviles | 1.34 : 1.50 | X | -0.05 | Risky | 3.09 |
| Pontevedra – Arenteiro | 1.60 : 1.22 | 1 | +0.12 | Banker | 1.48 |
| Talavera – Celta B | 1.27 : 1.71 | X2 | -0.11 | High Value | 1.30 |
| Zamora – Tenerife | 1.47 : 1.76 | X | -0.06 | Derby | 2.91 |
| Ponferradina – R. Ferrol | 1.28 : 1.57 | X2 | -0.09 | Confident | 1.40 |
| Ourense – Osasuna B | 1.26 : 1.16 | 1X | +0.07 | Defensive | 1.35 |
| Cacereno – Arenas Getxo | 1.21 : 1.65 | X2 | -0.13 | Dynamic | 1.45 |
| Lugo – Unionistas | 1.29 : 1.45 | X | -0.04 | Statistical draw | 3.32 |
| Barakaldo – Guadalajara | 1.37 : 1.26 | 1X | +0.08 | Predictable | 1.35 |
| Real Madrid B – Merida | 1.50 : 1.48 | X | +0.01 | Platinum? | 3.31 |
Special selections
- Platinum Selection: The Real Madrid B – Merida clash comes closest to this status due to the perfect mathematical balance between the offensive and defensive strengths of the two teams. With a harmony index of over 100, this match is the pearl of the round for draw lovers. 3
- High Confidence: The Pontevedra – Arenteiro match demonstrates the highest stability of the ($K$) model for a home win. The coefficient 1.48 is fully justified by the difference in the $V3$ values. 3
Secondary Analysis: Psychology of Statistics and Market Anomalies
Mathematical modeling in Primera RFEF requires an understanding of the context in which the data is generated. Analysis of the 20th round reveals several deep trends that could influence long-term strategy. 3
The phenomenon of affiliates (B-teams)
The presence of four “B” teams in the top positions (Celta, Real Madrid, Athletic Bilbao, Osasuna) introduces structural volatility. Since these teams often lose key players who are called up to the first teams, their historical statistics ($W/L/GF$) can be misleading. However, the algorithm manages to neutralize this noise through the Stability Index ($K$). It is noteworthy that in the match of Real Madrid B against Merida, the index shows an extremely high harmony, meaning that despite the variable composition, Castilla has maintained a clear statistical profile. 1
Defensive minimalism and leadership
Leader Tenerife has built its success on “defensive minimalism.” Their $SD$ of $0.90 is an anomaly for this group. When such a team visits Zamora, the market often overestimates their chances of winning due to their name and position. However, the mathematical model sees an “X” due to Zamora’s ability to neutralize the opponent’s strengths. This is a classic “market anomaly” where the risk of betting on the leader is higher than the statistical probability of success. 4
The crisis at the bottom: Structural collapse
The teams at the bottom – Cacereno, Guadalajara and Arenteiro – are showing signs of “structural decay”. Their $SA$ is below the critical level of 1.50, meaning that even against weak defenses they struggle to generate an xG above 1.0. In the 20th round, these teams face serious tests and the predicted losses or tough draws for them are likely to solidify the status quo at the bottom of the table. 1
Conclusion and strategic conclusions
The analysis of the 20th round of the Primera RFEF – Group 1 through the applied mathematical tools confirms that football results are not chaotic, but follow logical dependencies rooted in the defensive and offensive strength of the teams. The key conclusions for the upcoming weekend are:
- Stability at the top: Tenerife are likely to maintain their lead despite a tough draw in Zamora. Their defensive system is too resilient to allow for a collapse. 1
- Home dominance in “safe” matches: Pontevedra and Barakaldo are in a great position to capitalize on their opponents’ weaknesses. These matches offer the best combination of low risk and predictability. 1
- Draw as a mathematical necessity: The high concentration of “X” predictions in this round (4 out of 10 matches) reflects the balanced nature of Spanish football at this level, where tactical discipline often trumps individual risk. 3
Using the Harmony Index ($HI$) as a final filter allows serious analysts to identify the events with the highest degree of predictability. In a world filled with emotions and random factors, the mathematical protocol remains the only reliable guardian angel for those seeking objectivity in sports analysis.




