Docteur Bet

Analysis · Primeira Liga

Method

Did Porto sell Rodrigo Mora too cheaply?

Twenty-five million euros for a nineteen-year-old raised at the club, the thirty-eighth best passer in our database out of two and a half thousand. Our model says sixty. Here is where the gap comes from.

By Lucas da Silva · September 19, 2026 · 8 min read

On 25 September 2024, a boy of seventeen years and four months walked onto the Dragão pitch in a Porto first-team shirt for the first time. Twenty-three months later, on 19 August 2026, FC Porto sold him to Roma for 25 million euros.

In between: fifty-seven matches, the status of the stadium's favourite, and an ending in which his manager picked him less and less.

Our valuation model says 60 million.

€25msale price · our model values the player at €60m

A gap that size is not settled by an opinion. It is decomposed. Here is what we found when we opened the number up.

First, what he actually did on the pitch

Rodrigo Mora is not a goalscorer. That has to come first, because it is the charge against him: three goals and two assists in fourteen hundred minutes last season is not a line that excites a sporting director.

But a creator is not judged on goals, and our database can say it another way. Over the last twelve months:

Per 90 minutesMoraRank
Key passes3.4838th of 2,544
Shots3.53270th of 3,073
Successful dribbles4.18337th of 3,118

The last two lines are good without being remarkable. It is the first that matters, and it takes on its meaning when you look at the neighbourhood.

Key passes per 90 minutes
6th · Bruno Fernandes4.07
12th · Ousmane Dembélé3.93
26th · Rayan Cherki3.66
38th · Rodrigo Mora3.48
41st · Martin Ødegaard3.47
47th · Kevin De Bruyne3.43
56th · Lamine Yamal3.37

A nineteen-year-old who had lost his place at Porto plays as many decisive balls per match as Martin Ødegaard and Kevin De Bruyne. It is the hardest number in this whole case, and it is the one that explains the rest.

He is not a player who finishes moves. He is a player they pass through — he takes the ball, he beats his man, he plays the decisive pass. The rest of the chain is not his.

Then, why our model prices him so high

Our valuation answers a precise question: what would this player cost if a top European club bought him this summer? Both clubs are held constant, so that we measure the player rather than the buyer's wealth.

For Mora, the calculation starts from a median player at 3.8 million and multiplies by sixteen. Two things carry most of that multiplier.

19.4 yearsage is the second driver of the valuation, behind what he brings on the pitch

Age is no detail of the model. A player producing these numbers at nineteen is not worth the same as one producing them at twenty-five, because you are not buying the same quantity of future. Our model puts a figure on that slope, and it is steep.

The same player, same statistics, at…Our valuation
19 (his actual age)€60.0m
22€48.0m
25€34.9m
28€23.7m

Read the third line, then read the sale price again.

Porto sold a nineteen-year-old forty per cent below what our model would give for the same player at twenty-five. Not the same player grown into a full international: the same player, with exactly the same statistics, six years later.

But it is not only a premium on youth

The obvious objection: if age weighs that much, the model would just be paying for a date of birth. So we looked at what survives when each ingredient is taken out.

Set each of his variables back to the transfer market's average, one at a time, and the price becomes:

If we neutralise…The valuation falls to
His measured contribution€33.7m
His age€32.6m
His public profile€46.4m
His shot volume€61.8m
His creative output€65.3m

Two levers dominate, and the first is not age: it is what he actually brings to his side, measured on the pitch. Set that one variable to the market average and he falls to 33.7 million. Set his age to the median and he falls to 32.6. Age amplifies; it does not invent.

One last thing the model sees, and which counts against him: one metre sixty-eight. Our model penalises small builds by nearly ten per cent, because the market pays them less. Mora is valued at 60 million despite his height.

The season he began to disappear

The other half of the story has to be told too, because it is also true and it partly justifies Porto's decision.

PeriodMatchesStarts
Q4 2025118
Q1 2026115
Q2 202674

Eight starts in eleven in the autumn, five in eleven in the spring. Francesco Farioli was easing him out of the eleven, and a club that sells a player it no longer picks is making a defensible decision.

Our measure does not follow him down — deliberately. It is computed on what he produces per ninety minutes, adjusted for the quality of his team-mates and opponents. Fewer minutes does not make a worse player. It makes fewer minutes.

That is exactly the disagreement at the heart of this case: Porto sold a player who was leaving the team, and we are valuing a player who produces when he is in it.

The clause, and what it asks of Roma

The deal gives Porto 50% of the next sale. It is the club's answer to the 25 million figure, and it can be worked out.

For the 25 million banked, plus half of a resale, to reach the 60 million of our valuation, Roma must sell Rodrigo Mora on for 70 million.

€70mresale price at which the 50% clause closes the gap with our valuation

Seventy million is a major transfer without being exceptional — the kind of deal several European clubs close each summer. It is not out of reach for a player of that age, but it assumes Mora becomes in Rome what he had not yet become in Porto.

So the clause is real protection against the average outcome, and weak protection against the one that stings: if Mora becomes the player our numbers describe, Porto will have banked 25 million plus half of a sum they could have collected in full.

Two questions, two answers

Was Porto right to sell? Defensible. The player was losing his place, a nineteen-year-old talent who stops playing depreciates fast, and a club balancing a squad against a balance sheet cannot keep everyone.

Did Porto sell well? Much harder to argue. Our pricing model, which knows both clubs and knows that an Italian buyer pays less than an English one, expected 35.3 million from this specific deal. Porto took 25: ten million less than this transfer, to this club, should normally have fetched.

On Sunday night the Dragão will play its Clássico without him. In Rome, a nineteen-year-old begins his third professional season. In four years we will know which of the two numbers — twenty-five or sixty — better described what he was in August 2026.

See the table and projections for Primeira Liga →

The figures in this piece are read from the latest published computation: they update with the model and may therefore differ from those of the publication date. That is deliberate — an article should not go on asserting what is no longer true.

Further reading

Method

Is PSG the Champions League favourite? Our two models rank it 1st and 10th

Our two models each replayed the 2026-2027 Champions League 50,000 times from the same 18 matches already played, and their rankings correlate at 0.944. On PSG, one gives a 24.5% title chance, the other 2.2%. The whole gap comes down to one question of method: should a squad be judged by its league's average?

September 26 · 10 min
FixturePremier League

João Pedro: one certain fixture, and a date that can slip

The injury feed declares a return on 17 October, the very day of Everton – Chelsea. The absence therefore covers only one fixture for certain, where it costs 1.72 points of win probability. If the date slips, it is a different fixture, and a different figure.

September 25 · 6 min
Power rankingLigue 1

Marseille 17th and fifth: what the twelve clubs in this position went on to do

Twelve places separate Olympique de Marseille's position in the table from their estimated strength — the largest gap across the six leagues we follow. We replayed matchday 5 of 33 seasons to see where clubs in this situation end up.

September 25 · 6 min