🇵🇹 RIBEIRO Miguel · PORTUGAL
vs par split: bidding -0.69 · play -0.52
Strength of schedule: opponents averaged -0.08/bd (an easy draw) → opponent-adjusted -1.22/bd
Card play — on target: opening leads 90.5% #8 of 85 · declarer play 71.9% #61 of 85 · defence 75.0% #74 of 85
Bidding activity — not a pass: 50.1% #5 of 85 (190/379)
| vs NT | vs a suit | |
|---|---|---|
| Opening leads | 87.5% (8) | 92.3% (13) |
| Declarer play | 61.5% (13) | 78.9% (19) |
| Defence | 75.0% (12) | 75.0% (44) |
Opening leads by suit led: ♠ 75.0% (8) · ♥ 100.0% (5) · ♦ 100.0% (4) · ♣ 100.0% (4)
vs par by strain: NT -0.52 (33) · a suit -1.45 (98)
vs par by level: part-score -0.51 (41) · game -1.20 (80) · slam -4.20 (10)
By role: declaring -0.60/bd (-2.27 vs par · 75) · defending -1.88/bd (+0.20 vs par · 56)
By vulnerability: vulnerable -1.28/bd (-1.23 vs par · 65) · not vulnerable -1.01/bd (-1.20 vs par · 66)
By round↑ top
| Round | Partner | Opponents | Room | Bds | Butler | Avg | vs par |
|---|---|---|---|---|---|---|---|
| Round 1 | F.Coutinho | K.Pruul – M.Maasik | Open | 11 | +2.4 | +0.22 | +0.45 |
| Round 2 | F.Coutinho | S.Velja – S.Vazic | Open | 12 | -0.3 | -0.02 | -2.17 |
| Round 4 | F.Coutinho | D.Calipetre – I.Ploscaru | Open | 12 | +5.4 | +0.45 | +2.17 |
| Round 5 | F.Coutinho | A.Mijic – J.Djilovic | Open | 12 | -16.6 | -1.38 | -0.25 |
| Round 6 | F.Coutinho | D.De Wit – E.Vandewiele | Open | 12 | -21.4 | -1.78 | +0.83 |
| Round 8 | F.Coutinho | J.Andruszkiewicz – E.Sucharda | Open | 12 | -27.6 | -2.30 | -3.50 |
| Round 9 | F.Coutinho | G.Gemeno – E.Penalba | Open | 12 | +5.9 | +0.49 | +0.17 |
| Round 10 | F.Coutinho | Y.Ben David – I.Ginossar | Closed | 12 | -14.0 | -1.17 | -0.67 |
| Round 11 | F.Coutinho | M.Holewa – V.Di Bacco | Open | 12 | -11.0 | -0.92 | -1.58 |
| Round 12 | F.Coutinho | J.Milne – J.Nakamaru-Pinder | Open | 12 | -29.3 | -2.44 | -2.83 |
| Round 13 | F.Coutinho | C.Tukenmez – E.Akkaya | Open | 12 | -43.6 | -3.63 | -5.83 |
Every board — best Butler first↑ top
vs par = IMPs this pair scored above (+) or below (−) the board’s double-dummy par — what bidding and play (theirs and the opponents’) added or gave away against perfect play.
| Butler | Round | Opponents | Bd | Contract | Lead | Res | vs par |
|---|---|---|---|---|---|---|---|
| +15.3 | Round 4 | 🇷🇴 ROMANIA | 19 | 5♦x | ♦3 | -6 | +13 |
| +9.2 | Round 1 | 🇱🇻 LATVIA | 11 | 6NT | ♠3 | = | +0 |
| +9.1 | Round 2 | 🇷🇸 SERBIA | 22 | 4♠x | ♣Q | = | +12 |
| +8.3 | Round 9 | 🇪🇸 SPAIN | 1 | 3NT | ♦2 | +1 | +8 |
| +8.0 | Round 11 | 🇩🇪 GERMANY | 3 | 4♠ | ♦3 | -2 | +11 |
| +7.5 | Round 11 | 🇩🇪 GERMANY | 11 | 4♠ | ♦J | +1 | +0 |
| +6.9 | Round 1 | 🇱🇻 LATVIA | 7 | 4♠ | ♥T | = | +10 |
| +6.7 | Round 9 | 🇪🇸 SPAIN | 11 | 3NT | ♣7 | +1 | +7 |
| +6.6 | Round 10 | 🇮🇱 ISRAEL | 13 | 3♠x | ♠J | -2 | +0 |
| +6.1 | Round 13 | 🇹🇷 TURKIYE | 11 | 4♠ | ♣2 | = | +0 |
| +5.7 | Round 5 | 🇭🇷 CROATIA | 8 | 4♠ | ♥J | = | +8 |
| +5.7 | Round 6 | 🇧🇪 BELGIUM | 21 | 3♦ | ♣4 | +2 | +10 |
| +5.3 | Round 8 | 🇵🇱 POLAND | 20 | 2♦ | ♠A | -1 | +6 |
| +4.9 | Round 8 | 🇵🇱 POLAND | 24 | 6♣ | ♠K | +1 | +11 |
| +4.3 | Round 2 | 🇷🇸 SERBIA | 17 | 3NT | ♦T | -1 | +5 |
| +4.3 | Round 13 | 🇹🇷 TURKIYE | 5 | 2♠ | ♣9 | +1 | +1 |
| +4.2 | Round 2 | 🇷🇸 SERBIA | 13 | 4♥ | ♠J | = | +0 |
| +4.2 | Round 9 | 🇪🇸 SPAIN | 6 | 4♠ | ♣2 | +1 | +0 |
| +4.0 | Round 10 | 🇮🇱 ISRAEL | 21 | 4NT | ♣J | +2 | +11 |
| +3.6 | Round 12 | 🏴 SCOTLAND | 22 | 5♣x | ♣2 | -3 | +4 |
| +3.3 | Round 2 | 🇷🇸 SERBIA | 19 | 4♥ | ♦K | -1 | +6 |
| +3.3 | Round 9 | 🇪🇸 SPAIN | 9 | 1♥ | ♠A | +2 | +10 |
| +3.3 | Round 12 | 🏴 SCOTLAND | 17 | 3NT | ♥7 | -3 | +6 |
| +3.1 | Round 2 | 🇷🇸 SERBIA | 18 | 3♠ | ♦6 | = | +1 |
| +3.1 | Round 5 | 🇭🇷 CROATIA | 4 | 1NT | ♠4 | +1 | +0 |
| +3.1 | Round 5 | 🇭🇷 CROATIA | 5 | 3NT | ♥J | +1 | +0 |
| +3.1 | Round 6 | 🇧🇪 BELGIUM | 19 | 4♥ | ♦7 | -3 | +7 |
| +2.7 | Round 2 | 🇷🇸 SERBIA | 21 | 4♠ | ♥A | +1 | +0 |
| +2.7 | Round 4 | 🇷🇴 ROMANIA | 22 | 7♠ | ♣2 | = | +0 |
| +2.2 | Round 9 | 🇪🇸 SPAIN | 12 | 4♥ | ♠Q | = | +0 |
| +2.1 | Round 4 | 🇷🇴 ROMANIA | 14 | 5♣ | ♥7 | = | -1 |
| +2.0 | Round 2 | 🇷🇸 SERBIA | 24 | 3♣ | ♦3 | = | -7 |
| +1.9 | Round 12 | 🏴 SCOTLAND | 24 | 4♥ | ♦A | +1 | +0 |
| +1.8 | Round 1 | 🇱🇻 LATVIA | 6 | 3NT | ♠7 | +1 | +6 |
| +1.7 | Round 10 | 🇮🇱 ISRAEL | 24 | 4♥ | ♣3 | = | +0 |
| +1.5 | Round 1 | 🇱🇻 LATVIA | 2 | 3NT | ♥Q | = | -1 |
| +1.5 | Round 6 | 🇧🇪 BELGIUM | 23 | 5♠ | ♥J | = | +0 |
| +1.4 | Round 4 | 🇷🇴 ROMANIA | 20 | 2♠ | ♠4 | -1 | +1 |
| +1.3 | Round 11 | 🇩🇪 GERMANY | 9 | 4♠ | ♦A | -1 | -2 |
| +1.3 | Round 12 | 🏴 SCOTLAND | 15 | 3♣ | ♦9 | -1 | +4 |
| +1.2 | Round 2 | 🇷🇸 SERBIA | 14 | 4♠ | ♣A | +1 | +1 |
| +1.2 | Round 4 | 🇷🇴 ROMANIA | 16 | 2♥ | ♠K | = | +6 |
| +1.1 | Round 8 | 🇵🇱 POLAND | 18 | 2NT | ♥3 | +1 | +0 |
| +1.1 | Round 8 | 🇵🇱 POLAND | 22 | 3♥ | ♥7 | = | +1 |
| +1.1 | Round 11 | 🇩🇪 GERMANY | 5 | 1NT | ♦8 | = | +0 |
| +1.0 | Round 11 | 🇩🇪 GERMANY | 8 | 5♣ | ♠8 | = | -1 |
| +0.9 | Round 6 | 🇧🇪 BELGIUM | 13 | 2♦ | ♣K | = | +0 |
| +0.9 | Round 9 | 🇪🇸 SPAIN | 10 | 5♣ | ♣4 | +1 | -13 |
| +0.7 | Round 13 | 🇹🇷 TURKIYE | 2 | 2♦ | ♦3 | -1 | -3 |
| +0.6 | Round 5 | 🇭🇷 CROATIA | 11 | 4♠ | ♥A | = | +0 |
| +0.6 | Round 9 | 🇪🇸 SPAIN | 5 | 3♠ | ♠K | +1 | +1 |
| +0.5 | Round 1 | 🇱🇻 LATVIA | 5 | 2♠ | ♣T | +1 | +7 |
| +0.5 | Round 4 | 🇷🇴 ROMANIA | 13 | 4♠ | ♣4 | = | +0 |
| +0.5 | Round 6 | 🇧🇪 BELGIUM | 14 | 3NT | ♠Q | +1 | +1 |
| +0.5 | Round 10 | 🇮🇱 ISRAEL | 22 | 2NT | ♦5 | = | -1 |
| +0.5 | Round 13 | 🇹🇷 TURKIYE | 8 | 4♠ | ♥7 | -1 | -2 |
| +0.3 | Round 4 | 🇷🇴 ROMANIA | 15 | 4♥ | ♥5 | +1 | +13 |
| +0.3 | Round 8 | 🇵🇱 POLAND | 19 | 2♥ | ♦J | = | +0 |
| +0.1 | Round 1 | 🇱🇻 LATVIA | 8 | 2♠x | ♦6 | -3 | +2 |
| +0.1 | Round 8 | 🇵🇱 POLAND | 15 | 3NT | ♥3 | = | -1 |
| -0.0 | Round 5 | 🇭🇷 CROATIA | 1 | 4NT | ♠7 | +2 | -11 |
| +0.0 | Round 10 | 🇮🇱 ISRAEL | 20 | 4♥ | ♥4 | +1 | +0 |
| -0.1 | Round 1 | 🇱🇻 LATVIA | 4 | 4♥ | ♠J | = | +0 |
| -0.1 | Round 5 | 🇭🇷 CROATIA | 12 | 1NT | ♥K | -1 | +3 |
| -0.1 | Round 12 | 🏴 SCOTLAND | 13 | 4♠ | ♥J | +1 | +0 |
| -0.1 | Round 12 | 🏴 SCOTLAND | 19 | 1♥ | ♠A | -1 | +2 |
| -0.2 | Round 4 | 🇷🇴 ROMANIA | 18 | 4♠ | ♦A | = | +0 |
| -0.2 | Round 11 | 🇩🇪 GERMANY | 7 | 5♦ | ♠2 | -2 | -2 |
| -0.7 | Round 11 | 🇩🇪 GERMANY | 2 | 3NT | ♠T | +2 | +12 |
| -0.9 | Round 5 | 🇭🇷 CROATIA | 6 | 2♠ | ♥5 | = | +0 |
| -0.9 | Round 9 | 🇪🇸 SPAIN | 3 | 4♠ | ♣T | = | +0 |
| -0.9 | Round 9 | 🇪🇸 SPAIN | 7 | 1NT | ♥3 | -1 | +9 |
| -0.9 | Round 10 | 🇮🇱 ISRAEL | 15 | 3♣ | ♦2 | +1 | +0 |
| -1.1 | Round 6 | 🇧🇪 BELGIUM | 22 | 4♠ | ♥K | -1 | +3 |
| -1.1 | Round 9 | 🇪🇸 SPAIN | 8 | 4♥ | ♠Q | +1 | +0 |
| -1.1 | Round 10 | 🇮🇱 ISRAEL | 17 | 2♥x | ♦5 | -1 | +0 |
| -1.5 | Round 10 | 🇮🇱 ISRAEL | 18 | 3NT | ♣J | = | +11 |
| -1.7 | Round 10 | 🇮🇱 ISRAEL | 14 | 4♥ | ♠A | -1 | -9 |
| -1.7 | Round 12 | 🏴 SCOTLAND | 21 | 3♠ | ♣K | -1 | -2 |
| -2.1 | Round 4 | 🇷🇴 ROMANIA | 21 | 4♠ | ♣J | -2 | +0 |
| -2.1 | Round 11 | 🇩🇪 GERMANY | 4 | 2♠ | ♣Q | = | +1 |
| -2.2 | Round 1 | 🇱🇻 LATVIA | 9 | 3♠ | ♦2 | -1 | -4 |
| -2.7 | Round 5 | 🇭🇷 CROATIA | 3 | 4♠ | ♣6 | = | +0 |
| -2.8 | Round 5 | 🇭🇷 CROATIA | 7 | 3NT | ♠8 | = | +13 |
| -2.9 | Round 1 | 🇱🇻 LATVIA | 1 | 4♠ | ♣8 | +1 | -2 |
| -2.9 | Round 8 | 🇵🇱 POLAND | 16 | 3♥ | ♣T | -2 | -3 |
| -2.9 | Round 13 | 🇹🇷 TURKIYE | 7 | 2♠ | ♣9 | -1 | -5 |
| -3.1 | Round 6 | 🇧🇪 BELGIUM | 15 | 2♥ | ♠3 | +1 | -1 |
| -3.1 | Round 12 | 🏴 SCOTLAND | 23 | 4♠ | ♥2 | +1 | -1 |
| -3.2 | Round 10 | 🇮🇱 ISRAEL | 16 | 4♠x | ♦A | -2 | +5 |
| -3.4 | Round 4 | 🇷🇴 ROMANIA | 24 | 2♠ | ♣Q | +1 | -6 |
| -3.4 | Round 11 | 🇩🇪 GERMANY | 6 | 6♣ | ♥2 | +1 | -7 |
| -3.6 | Round 5 | 🇭🇷 CROATIA | 9 | 2♣ | ♠A | = | +1 |
| -3.9 | Round 4 | 🇷🇴 ROMANIA | 17 | 4♥ | ♠3 | = | +0 |
| -3.9 | Round 6 | 🇧🇪 BELGIUM | 17 | 5♥ | ♣K | -1 | -11 |
| -4.3 | Round 13 | 🇹🇷 TURKIYE | 4 | 1NT | ♠3 | -1 | -6 |
| -4.5 | Round 6 | 🇧🇪 BELGIUM | 20 | 2♠ | ♥Q | -2 | -3 |
| -4.7 | Round 1 | 🇱🇻 LATVIA | 3 | 4♠ | ♠7 | = | +0 |
| -4.7 | Round 8 | 🇵🇱 POLAND | 17 | 6♠ | ♠T | +1 | -11 |
| -4.9 | Round 13 | 🇹🇷 TURKIYE | 1 | 2♠ | ♥A | +3 | -6 |
| -5.6 | Round 12 | 🏴 SCOTLAND | 18 | 4♠ | ♥2 | -2 | -12 |
| -5.9 | Round 6 | 🇧🇪 BELGIUM | 18 | 4♠ | ♣J | +1 | +0 |
| -6.0 | Round 5 | 🇭🇷 CROATIA | 10 | 3NT | ♣6 | -2 | -2 |
| -6.0 | Round 8 | 🇵🇱 POLAND | 13 | 4♠ | ♥7 | +2 | -13 |
| -6.2 | Round 6 | 🇧🇪 BELGIUM | 16 | 6NT | ♦T | +1 | +11 |
| -6.5 | Round 2 | 🇷🇸 SERBIA | 16 | 3NT | ♥5 | = | -10 |
| -6.5 | Round 10 | 🇮🇱 ISRAEL | 23 | 4♥ | ♦K | = | -10 |
| -6.9 | Round 8 | 🇵🇱 POLAND | 21 | 4♠ | ♥5 | = | -14 |
| -6.9 | Round 9 | 🇪🇸 SPAIN | 4 | 3NT | ♥5 | -5 | -8 |
| -7.2 | Round 2 | 🇷🇸 SERBIA | 15 | 4♠ | ♣9 | -1 | -12 |
| -7.4 | Round 13 | 🇹🇷 TURKIYE | 10 | 6NT | ♣J | -1 | -17 |
| -7.5 | Round 11 | 🇩🇪 GERMANY | 1 | 4♠ | ♣A | = | -11 |
| -7.6 | Round 13 | 🇹🇷 TURKIYE | 12 | 3NTx | ♠T | +2 | -8 |
| -7.7 | Round 1 | 🇱🇻 LATVIA | 10 | 5♣ | ♦A | -2 | -13 |
| -7.7 | Round 2 | 🇷🇸 SERBIA | 23 | 6♣ | ♠9 | = | -7 |
| -7.7 | Round 11 | 🇩🇪 GERMANY | 12 | 4♠ | ♦K | -1 | -10 |
| -7.7 | Round 12 | 🏴 SCOTLAND | 20 | 4♥ | ♦2 | -3 | -14 |
| -8.3 | Round 11 | 🇩🇪 GERMANY | 10 | 3NT | ♠4 | = | -10 |
| -8.4 | Round 6 | 🇧🇪 BELGIUM | 24 | 3NT | ♣2 | -4 | -7 |
| -8.4 | Round 13 | 🇹🇷 TURKIYE | 6 | 6♦ | ♦2 | -4 | -12 |
| -8.5 | Round 4 | 🇷🇴 ROMANIA | 23 | 4♠ | ♦J | = | +0 |
| -8.8 | Round 2 | 🇷🇸 SERBIA | 20 | 1NT | ♥2 | +4 | -15 |
| -8.9 | Round 13 | 🇹🇷 TURKIYE | 9 | 4♥x | ♠A | = | -12 |
| -9.7 | Round 8 | 🇵🇱 POLAND | 14 | 6♦ | ♣2 | -1 | -10 |
| -10.2 | Round 8 | 🇵🇱 POLAND | 23 | 5♦x | ♠A | -1 | -8 |
| -10.3 | Round 12 | 🏴 SCOTLAND | 14 | 2♥x | ♦6 | +1 | -10 |
| -10.5 | Round 9 | 🇪🇸 SPAIN | 2 | 3NT | ♦4 | -2 | -12 |
| -10.8 | Round 12 | 🏴 SCOTLAND | 16 | 3NT | ♠9 | = | -11 |
| -10.8 | Round 13 | 🇹🇷 TURKIYE | 3 | 4♠ | ♣6 | = | +0 |
| -11.9 | Round 10 | 🇮🇱 ISRAEL | 19 | 2♠x | ♠A | +2 | -15 |
| -13.0 | Round 5 | 🇭🇷 CROATIA | 2 | 5♥x | ♠A | = | -15 |