There are matches after which the numbers and the emotions diverge so sharply that you have to choose what to believe. Baltika vs Rubin was exactly that. By feel: an anniversary show in the stands, a heroic late siege, a goal in the 94th minute. By the data: over 90 minutes the team produced 0.18 xG from open play, split almost evenly between the halves, 0.10 before the break and 0.08 after. Everything else was set pieces and a long ball/cross from Pospelov.
The round-five match in Kaliningrad ended 1:1: Siwe scored in the 8th minute, Varatynov equalised in the 94th. For Rubin it was a third straight draw by the same score. Baltika had lost three home games in a row to Kazan 0:1, a historically awkward opponent, so for us this counts as a small step forward.
The day before, Baltika turned 72: the club's birthday is 23 August 1954. The game was timed to the anniversary, the stands unfurled an enormous banner, and the display got noticed even in Kazan. A stadium supporting loudly, a landmark date, an opponent without Daku: perfect conditions for an emotional start. Which made the first half all the more awkward.
The eighth minute decided an hour and a half
Rubin's goal was assembled from three touches: a long ball from Teslenko, a headed lay-off from Rozhkov, and Siwe controlling and finishing past a stranded Latyshonok. After that Rubin simply refused to hand back the initiative.
The first half in FotMob's numbers looks just as poor as it felt: shots 3-7, on target 0-2, big chances 0-1, duels 42% to 58%. And the main thing: xG 0.10 against 0.56, with 0.44 of that 0.56 coming from Rubin's set pieces. In other words, on the club's birthday, in a boiling stadium, under an unfurled banner, Baltika went 45 minutes without a single shot on target against a team that had arrived without Daku and played exactly one idea: launch it, fight for it, pick up the second ball.
And at half-time Talalaev changed nobody. From the outside it seemed the team switched gears anyway after the break: it went through the flanks and had its first approaches. The numbers will disagree with that, and we'll come back to it. The substitutions only came in the 56th minute: Ilya Petrov and Offor for Murid and Maksim Petrov.

A disallowed goal and three versions of one incident
In the 64th minute Offor steered the ball into the net with the back of his head after Staver fumbled coming out. The goal was given, then disallowed, and here is where it gets interesting: the sources still can't agree on why. Match TV and Sport24 write about a foul by Brayan Gil on the goalkeeper (Sport24), Sports.ru and Championat about an offside by the same player. One and the same minute, two different offences in the interpretations. It's worth waiting for the official wording from the RPL; until it arrives, the incident remains disputed.
A separate detail for the evening's collection: in both versions, Baltika's goal was disallowed because of Gil, the player who ended up with the worst rating in the side.
0.10 and 0.08: where the difference really was
At first glance the second half is the complete opposite of the first. FotMob: possession 57:43, shots 13-3, touches in the opposition box 22-4, xG 0.94 against 0.09, xGOT 1.31 against 0.02. It looks like a one-way rout and like a completely different team after the break.
Now break down that 0.94. From set pieces: 0.87. From open play: 0.08. And in the first half Baltika had 0.10 xG, all of it from open play. So in open play the second half differed from the first by almost nothing: 0.10 and 0.08. The entire 0.84 xG gap between the halves is corners and deliveries, and nothing else. All the danger came after them.

Hence the uncomfortable conclusion. Talalaev changed nobody at half-time, and in open play nothing really changed. Over 90 minutes Baltika created about 0.18 xG from open play: two equal halves of 0.09 on average. What flipped wasn't the character of the hosts' game but two external conditions: set pieces appeared around Staver's goal (corners 4-1) and Rubin stopped creating.
On Rubin separately. In the first half Kazan had 0.56 xG, in the second 0.09. By FotMob's attack zones, 66% of their attacks after the break went down one left flank, against 18% through the centre and 16% down the opposite side, the most lopsided distribution in the match (Baltika's was an even 32/35/33). Add 43 clearances to 5 and 25 aerial duels to 12: Kazan didn't restructure, they funnelled the whole game into one corridor and started hoofing it clear. It worked for 93 minutes out of 94.
And here is the main thing that makes those 0.18 not a one-off. By my count on FotMob data, against Spartak Baltika produced 0.20 xG from open play over the match with 0.88 from set pieces, and against Dynamo about 0.2 from open play. Three matches, three different opponents, the same order of magnitude. It seems this isn't about one evening but about a trend. If it holds for a few more rounds, 0.08-0.10 xG from open play per half will have to be treated not as a failure but as the norm for this model.
One caveat in favour of both teams. The pitch after the rain was heavy and sticky, the ball moved worse than on a dry surface. Not a catastrophe, but a surface like that punishes quick one-touch passing. Let me say straight away: the assessment of the pitch is my observation, not an official report on its condition; neither team made any formal complaint about the turf after the match. Still, a sticky pitch favours the side that clears and fights in the air, and that is exactly the game Rubin offered with their 43 clearances. It affects the order of the numbers, but the pitch doesn't explain the difference between the halves: it was the same for all 94 minutes and for both sides.
The goal turned out just like the whole second half: Pospelov's long ball/cross returned the ball into the six-yard area, Offor kept Staver off it, Varatynov bundled it in.
Talalaev after the match: "When you equalise a minute from the end, of course that's a success. If I owned the team, I'd pay a bonus as for a win, because psychologically it means a great deal." I won't argue with the psychology. The content is another matter.
Who dragged the game back, and who hid
The heroes of the evening
Varatynov (7.9 FotMob / 7.6 Sofascore). FotMob's man of the match. 41/62 accurate passes, 181.9 m of carry distance, 2/2 in the air, zero losses of possession by FotMob, and yet a total ball progression of -21.0 m: the centre-back spent the whole evening passing backwards and sideways. The long passes are telling, 9/21 (43%), and his longest carry was just 23.3 m. In other words, playing out from under pressure through him didn't work: either a short pass back or a long punt on a prayer. Obviously the 7.9 was made to a large degree by six seconds in the 94th minute; without the goal the rating for those 94 minutes would look very different.
Anderson (7.4 / 7.3). 47 accurate passes out of 58 (81%), the most in the match, long passes 12/17 (71%), 10 ball recoveries. And one number on its own that explains both high ratings: 12 losses of possession, the fewest among those who played the full 90 (Gassama 15, Mouyokolo 18, Varatynov 23, Beveev 43). Plus two chances after the disallowed goal: first wide from around the penalty spot, then almost scored after a scramble of ricochets, with Staver bailing Rubin out. The most underrated player of the evening: on Sofascore, passing is his biggest plus in the rating breakdown.
Gassama (7.5 / 6.7). The biggest gap between the platforms in the match, 0.8. FotMob highlighted dribbling 5/5 and ground duels 6/6; Sofascore saw 14 aerial duels with 7 won and a 61% pass completion rate. Another detail in favour of the second platform: just 3 defensive actions and 2 ball recoveries. For a full-back in a match where the opponent launched it forward 43 times, that's not much. Both platforms are right; one simply counted what he did, the other what he didn't.
Offor (from 56', 6.3 / 6.9). Three authorities with three different opinions on the same half-hour: FotMob 6.3, Sofascore 6.9, and Match TV named him man of the match (Euro-Football). Sofascore is easy to explain: the bursts. Three long carries totalling 71.7 m, the longest 40.6 m, total progression +51.5 m in 34 minutes, 3 fouls won, 5 ground duels with three wins. FotMob barely converts a profile like that into a rating, because there was one shot and it went wide, and 5 bad touches out of 17 are on him too. Plus two incidents that didn't make the statistics at all: the disallowed goal and the obstruction of Staver in the 94th minute.

Ilya Petrov (from 56', 6.5 / 6.6). 3 shots in 34 minutes, two of them on target, the best shooting figure in the match. Plus 4 crosses with two accurate, xA 0.24 and 11 passes into the final third in half an hour, more than Murid and Maksim Petrov combined in their 56 minutes. The price of an entrance like that: 6/14 (43%) accuracy, 0/4 long passes and 11 losses of possession. Exactly the risk that was needed.
Pospelov (from 74', 6.7 / 7.0). The best average among the substitutes. In 16 minutes, 5 crosses with one accurate, and that one ended in the goal in the 94th minute. The numbers around it are modest: 12 touches and 8 losses. For a 19-year-old to look the bravest man on the pitch in a finish like that is already an achievement.
The rest
Latyshonok (6.1 / 6.1). 2 saves and goals prevented of -0.77 by FotMob: by the model he should have conceded roughly 0.23 goals and he conceded one. Sofascore arrived at the same thing independently: "goalkeeping" became the biggest red minus in his breakdown. Over the whole match, one claim and one intercepted cross. But goalkeepers have to be judged a little more carefully. Did he really play badly? No, of course not.
Beveev (6.5 / 6.6). 84 touches, the most in the match, 30 throw-ins, 5 tackles, 14 ground duels. And 43 losses of possession by Sofascore, 5 crosses without a single accurate one, 55% pass accuracy, long passes 1/6, 4 fouls: the right-back through whom the whole volume of the game passed, along with all of its inaccuracy.
Mouyokolo (6.6 / 6.2). 6 touches in the opposition box, the most in the match, ball progression +57.2 m, the best in the starting XI. He kept pushing the ball forward. The discrepancy is explained by one pair of numbers: 23/25 (92%) in his own half, 10/25 (40%) in the opposition's. Sofascore punished him for that, adding 7 aerial duels with three wins.
Maksim Petrov (6.5 / 6.8). The highest pass accuracy in the starting XI, 14/16 (88%), 7/7 in his own half, and yet not a single shot, 23 touches in 56 minutes, ball progression -14.5 m. The main number in his breakdown: longest carry, 6.1 metres. The perfect pass in the safe direction: exactly what the team did not need that evening.
Mendel (6.2 / 6.4). 0/7 long passes, an identical zero on both platforms. A team that spent the whole evening catching the ball in the air never once played a pass in behind itself. The captain's share of the work was there (4 defensive actions, 2 tackles, a blocked shot), the creative share wasn't. 54.5 m of carry distance in 74 minutes, less than Offor in 34.
Murid (6.4 / 6.6). 19/26 (73%) accurate, 2 tackles and both won, 36 touches in 56 minutes, and not a single shot, not a single chance created, ball progression -21.0 m. The most precise illustration of the first half: the ball is there, forward movement isn't.
Titkov (6.6 / 6.5). Created 3 chances, the most in the match, xA 0.24, 5 crosses with one accurate, 26 carries for 161.4 m. And total progression of -18.8 m, 0/5 in duels by FotMob, 3 aerial duels without a win: a player who delivered a lot and got past very little.
Gil (5.9 / 5.9). The worst in the side on both platforms. 13 touches in 74 minutes, four times fewer than Mendel in the same 74, three fouls, 0 of 6 in the air, 7 ground duels with one win. The green plus for dribbling on Sofascore looks like the system trying to find something, anything.
Belikov (from 74', 6.0 / 6.4). 7/9 accurate in 16 minutes, 5 ground duels with two wins, 0/3 in the air and one episode where he was beaten. The 0.4 difference is about Sofascore valuing neat passes over a short spell while FotMob barely notices them.
Shiltsov (from 84', no FotMob rating / 6.6). 4 touches, 3/3 accurate including a long one, one blocked shot, zero losses. A hundred-percent cameo, and too short for FotMob to give a rating at all.
What next?
Talalaev is right about one thing: a point in the 94th minute is worth more than its arithmetic. But the arithmetic isn't going anywhere either. 0.18 xG from open play against a team that came to tie the match up in knots, and split exactly down the middle between the halves, is not about bad luck with the refereeing. And not even only about the sticky turf: the numbers were the same against Spartak and Dynamo. It's about the fact that Baltika took the point with a tool that doesn't always work: set pieces, a siege and a ball launched into the box in the last minute. Against Spartak that tool didn't work. Against Rubin it did, a minute from the end.



