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.
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 minutes | Mora | Rank |
|---|---|---|
| Key passes | 3.48 | 38th of 2,544 |
| Shots | 3.53 | 270th of 3,073 |
| Successful dribbles | 4.18 | 337th 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 Fernandes | 4.07 |
| 12th · Ousmane Dembélé | 3.93 |
| 26th · Rayan Cherki | 3.66 |
| 38th · Rodrigo Mora | 3.48 |
| 41st · Martin Ødegaard | 3.47 |
| 47th · Kevin De Bruyne | 3.43 |
| 56th · Lamine Yamal | 3.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.
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.
| Period | Matches | Starts |
|---|---|---|
| Q4 2025 | 11 | 8 |
| Q1 2026 | 11 | 5 |
| Q2 2026 | 7 | 4 |
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.
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.