🇫🇮 KOIVU Oskari · FINLAND

107rank
-127.6Butler · 225 bds
-0.57per board
±4.6swing
-0.96vs par /bd · #116/125
-0.61adjusted /bd
Butler per round: -4.1 -25.8 -15.6 -24.7 -26.9 16.3 21.3 7.1 18.9 -23.2 -12 0.6 -1.5 -33 -25by round

vs par split: bidding -0.55 · play -0.47

Strength of schedule: opponents averaged -0.04/bd (an average draw) → opponent-adjusted -0.61/bd

Card play — on target: opening leads 85.1% #15 of 125 · declarer play 72.1% #81 of 125 · defence 84.3% #75 of 125

Card play by contract type — on target
vs NTvs a suit
Opening leads77.8% (9)86.8% (38)
Declarer play60.9% (23)78.9% (38)
Defence87.0% (23)83.5% (85)

Opening leads by suit led: ♠ 90.0% (10) · ♥ 90.9% (11) · ♦ 72.2% (18) · ♣ 100.0% (8)

vs par by strain: NT -2.24 (58) · a suit -0.59 (165)

vs par by level: part-score -0.50 (90) · game -0.97 (114) · slam -3.74 (19)

By role: declaring -0.23/bd (-2.78 vs par · 117) · defending -0.93/bd (+1.02 vs par · 108)

By vulnerability: vulnerable -1.13/bd (-1.98 vs par · 118) · not vulnerable +0.05/bd (+0.17 vs par · 107)

By round↑ top

RoundPartnerOpponentsRoomBdsButlerAvgvs par
Round 1H.HuhtamakiA.Calmanovici – A.ManganellaClosed15-4.1-0.27+0.80
Round 2H.HuhtamakiT.Hauge – S.SjodalOpen15-25.8-1.72-2.53
Round 4H.HuhtamakiJ.Connolly – S.BarrClosed15-15.6-1.04-0.93
Round 5H.HuhtamakiT.Sprinkhuizen – G.Mendes De LeonClosed15-24.7-1.65-0.60
Round 8H.HuhtamakiI.Robson – E.SinghalOpen15-26.9-1.79-1.47
Round 9H.HuhtamakiK.Stefanec – M.FerencaClosed15+16.3+1.09+0.40
Round 10H.HuhtamakiM.Vinogradova – P.SmirnovaOpen15+21.3+1.42+1.27
Round 12H.HuhtamakiL.Kolek – J.VojtikClosed15+7.1+0.47-0.73
Round 14H.HuhtamakiM.Ferreira – C.PimentaClosed15+18.9+1.26-1.53
Round 15H.HuhtamakiL.Obrien – R.ValentineOpen15-23.2-1.55-2.27
Round 17H.HuhtamakiM.Vasar – S.LaanOpen15-12.0-0.80-2.67
Round 19H.HuhtamakiS.Bune – E.Buus ThomsenOpen15+0.6+0.04+0.53
Round 20H.HuhtamakiL.Streck – F.AlterClosed15-1.5-0.10-0.53
Round 22H.HuhtamakiM.Balodis – J.IlzinsOpen15-33.0-2.20-1.47
Round 23H.HuhtamakiP.Crisafulli Sadaba – S.ThorpeClosed15-25.0-1.67-2.60

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.

ButlerRoundOpponentsBdContractLeadResvs par
+13.5Round 19🇩🇰 DENMARK33♣x♠10-5+9
+12.8Round 9🇭🇷 CROATIA116♠x♦Q-2+13
+10.2Round 10🇷🇺 RUSSIA174♥♣10=+7
+9.8Round 14🇵🇹 PORTUGAL213♣♥Q-3+10
+9.5Round 17🇪🇪 ESTONIA114♥x♦9=+5
+9.3Round 14🇵🇹 PORTUGAL256♣♠3=+0
+7.9Round 1🇮🇹 ITALY153NT♥J+1+11
+7.3Round 10🇷🇺 RUSSIA213NT♦10-3+5
+7.1Round 4🇮🇪 IRELAND292♥♦6-1+12
+7.1Round 19🇩🇰 DENMARK44♥x♠Q-2+8
+7.0Round 12🇨🇿 CZECH REPUBLIC294♠♥2=+0
+6.4Round 5🇳🇱 NETHERLANDS13NT♣Q-2+11
+6.2Round 1🇮🇹 ITALY73NT♠Q=+0
+6.0Round 23🇦🇹 AUSTRIA23NTxx♣9-1+12
+5.7Round 12🇨🇿 CZECH REPUBLIC254♠♥J-1+6
+5.7Round 12🇨🇿 CZECH REPUBLIC314♥♣3-1+10
+5.7Round 20🇩🇪 GERMANY296♠♣3=+0
+5.4Round 8🏴󠁧󠁢󠁥󠁮󠁧󠁿 ENGLAND224♠♦A-1+6
+5.4Round 9🇭🇷 CROATIA104♠♣9+2-12
+5.3Round 14🇵🇹 PORTUGAL173NT♥4=+7
+5.2Round 10🇷🇺 RUSSIA266NT♠8=+0
+4.5Round 10🇷🇺 RUSSIA274♠♥3-2+6
+4.4Round 10🇷🇺 RUSSIA184♠♣2+1+1
+4.4Round 20🇩🇪 GERMANY213♣x♥8-3+8
+4.3Round 2🇳🇴 NORWAY234♥♣5-1+6
+4.2Round 15🏴󠁧󠁢󠁳󠁣󠁴󠁿 SCOTLAND143♣♥Q=+5
+4.2Round 19🇩🇰 DENMARK142♣x♦K+1+5
+4.2Round 20🇩🇪 GERMANY204♥♦8-3+9
+4.0Round 8🏴󠁧󠁢󠁥󠁮󠁧󠁿 ENGLAND234♠♣J-1+6
+3.9Round 15🏴󠁧󠁢󠁳󠁣󠁴󠁿 SCOTLAND74♥♦J-1+6
+3.8Round 5🇳🇱 NETHERLANDS44♥♥10+2+9
+3.8Round 9🇭🇷 CROATIA24♠♣Q=+3
+3.7Round 9🇭🇷 CROATIA73NT♠10+2+1
+3.5Round 5🇳🇱 NETHERLANDS53♠♣J=+0
+3.5Round 10🇷🇺 RUSSIA191NT♠7=-2
+3.5Round 14🇵🇹 PORTUGAL222♠♦9+1+1
+3.4Round 17🇪🇪 ESTONIA144♥♣Q-1+9
+3.3Round 17🇪🇪 ESTONIA83NT♥2=-1
+3.3Round 22🇱🇻 LATVIA262♦♠2+3+10
+3.2Round 5🇳🇱 NETHERLANDS144♥♠9-1+8
+3.2Round 8🏴󠁧󠁢󠁥󠁮󠁧󠁿 ENGLAND304♠♣3=+0
+3.2Round 15🏴󠁧󠁢󠁳󠁣󠁴󠁿 SCOTLAND13♥♦Q-1+5
+3.2Round 17🇪🇪 ESTONIA23NT♣9+2+2
+3.1Round 10🇷🇺 RUSSIA292♥♣10=+0
+2.8Round 22🇱🇻 LATVIA244♥♥6=+0
+2.7Round 20🇩🇪 GERMANY182♠♦K=+0
+2.5Round 12🇨🇿 CZECH REPUBLIC245♦x♥K-2+0
+2.4Round 15🏴󠁧󠁢󠁳󠁣󠁴󠁿 SCOTLAND151NT♥5=+7
+2.4Round 23🇦🇹 AUSTRIA114♠♥Q+1+1
+2.3Round 22🇱🇻 LATVIA272NT♥Q-1+5
+2.2Round 14🇵🇹 PORTUGAL292♦♣8=+5
+2.2Round 14🇵🇹 PORTUGAL313♣♠K=+0
+2.2Round 17🇪🇪 ESTONIA32♠x♥K-2+1
+2.2Round 19🇩🇰 DENMARK154♠♣Q+2+1
+2.2Round 20🇩🇪 GERMANY242♠♥J=+0
+2.1Round 15🏴󠁧󠁢󠁳󠁣󠁴󠁿 SCOTLAND63♠♣A=+0
+2.0Round 12🇨🇿 CZECH REPUBLIC213♣♦Q=+0
+1.9Round 2🇳🇴 NORWAY262♥♦10+2+1
+1.9Round 8🏴󠁧󠁢󠁥󠁮󠁧󠁿 ENGLAND314♠♦6=+1
+1.9Round 23🇦🇹 AUSTRIA63NT♣5+1-1
+1.9Round 23🇦🇹 AUSTRIA93NT♥6+1+0
+1.9Round 23🇦🇹 AUSTRIA146NT♠J=-11
+1.8Round 8🏴󠁧󠁢󠁥󠁮󠁧󠁿 ENGLAND173♥♠A-1+4
+1.8Round 8🏴󠁧󠁢󠁥󠁮󠁧󠁿 ENGLAND194♠♥4=+0
+1.8Round 9🇭🇷 CROATIA14♠♠6-1+5
+1.8Round 15🏴󠁧󠁢󠁳󠁣󠁴󠁿 SCOTLAND113NT♠Q=+2
+1.7Round 2🇳🇴 NORWAY253♠♣Q+1-6
+1.6Round 1🇮🇹 ITALY112♥♠K+1+0
+1.6Round 17🇪🇪 ESTONIA14♠♣A=+0
+1.5Round 4🇮🇪 IRELAND243♠♣5-1+6
+1.5Round 4🇮🇪 IRELAND253NT♦2-1-5
+1.4Round 9🇭🇷 CROATIA44♠♦8+2+1
+1.4Round 10🇷🇺 RUSSIA303♣♦K=+5
+1.3Round 12🇨🇿 CZECH REPUBLIC28Pass+3
+1.3Round 20🇩🇪 GERMANY273♠♥A+1+10
+1.3Round 22🇱🇻 LATVIA203♥♦J-1-1
+1.1Round 2🇳🇴 NORWAY213♥♦K-3+1
+1.1Round 23🇦🇹 AUSTRIA104♥♦2+1+0
+1.0Round 9🇭🇷 CROATIA54♥♠7-1+5
+1.0Round 23🇦🇹 AUSTRIA133NT♥6+1-1
+0.9Round 15🏴󠁧󠁢󠁳󠁣󠁴󠁿 SCOTLAND24♥♦5-1+5
+0.8Round 1🇮🇹 ITALY13♠♦Q=+1
+0.8Round 2🇳🇴 NORWAY184♥♣A-2-1
+0.8Round 14🇵🇹 PORTUGAL262♥♠3+3-9
+0.8Round 17🇪🇪 ESTONIA54♠♥K+1+0
+0.7Round 2🇳🇴 NORWAY224♥♦Q+2-11
+0.7Round 4🇮🇪 IRELAND195♥x♦A=+5
+0.7Round 8🏴󠁧󠁢󠁥󠁮󠁧󠁿 ENGLAND284♥♦10+1+0
+0.7Round 15🏴󠁧󠁢󠁳󠁣󠁴󠁿 SCOTLAND91NT♥6=-7
+0.6Round 22🇱🇻 LATVIA183♠♣3-1-2
+0.5Round 1🇮🇹 ITALY123♦♥K=-5
+0.5Round 1🇮🇹 ITALY142NT♥6-2+0
+0.5Round 12🇨🇿 CZECH REPUBLIC302♥♠J=+0
+0.5Round 14🇵🇹 PORTUGAL204♥♦2+1+0
+0.5Round 20🇩🇪 GERMANY314♠♦7=-13
+0.4Round 10🇷🇺 RUSSIA222♠♣J-1+7
+0.4Round 19🇩🇰 DENMARK9Adj.♣A+9
+0.4Round 20🇩🇪 GERMANY192NT♥8=+0
+0.3Round 4🇮🇪 IRELAND184♥♦7+1+1
+0.3Round 22🇱🇻 LATVIA193♥♦K=+0
+0.2Round 17🇪🇪 ESTONIA94♠♥2+1+0
+0.1Round 10🇷🇺 RUSSIA244♠♦A+2+1
+0.1Round 12🇨🇿 CZECH REPUBLIC272♥♠6-2+0
+0.1Round 14🇵🇹 PORTUGAL274♥♣6=+1
-0.0Round 4🇮🇪 IRELAND173♥♦J=+1
+0.0Round 12🇨🇿 CZECH REPUBLIC204♠♥4+1+0
+0.0Round 19🇩🇰 DENMARK74♥♦4+1+0
-0.1Round 1🇮🇹 ITALY83NT♦5+2+0
-0.1Round 5🇳🇱 NETHERLANDS133♣♠A=-6
-0.1Round 9🇭🇷 CROATIA151NT♣Q=-1
-0.1Round 22🇱🇻 LATVIA213♠♠2-2-1
-0.2Round 14🇵🇹 PORTUGAL303♦♥J+1+7
-0.3Round 4🇮🇪 IRELAND314♠♣J=+0
-0.3Round 8🏴󠁧󠁢󠁥󠁮󠁧󠁿 ENGLAND211NT♦2=+0
-0.3Round 20🇩🇪 GERMANY223♥♠10-1-5
-0.4Round 1🇮🇹 ITALY24♠♣J=+0
-0.4Round 19🇩🇰 DENMARK114♠♣7=+1
-0.4Round 20🇩🇪 GERMANY302♣♥3+1+0
-0.4Round 22🇱🇻 LATVIA174♠♣Q+2+11
-0.6Round 4🇮🇪 IRELAND271NT♣Q-3+0
-0.6Round 10🇷🇺 RUSSIA232♠♥A+1+0
-0.6Round 22🇱🇻 LATVIA254♠♦J+1+0
-0.7Round 1🇮🇹 ITALY62♥♦7+1+0
-0.7Round 4🇮🇪 IRELAND304♥♣Q=+0
-0.7Round 5🇳🇱 NETHERLANDS63♥♦5+1+10
-0.8Round 4🇮🇪 IRELAND223NT♥2=-1
-0.8Round 12🇨🇿 CZECH REPUBLIC221NT♠10+1+0
-0.9Round 9🇭🇷 CROATIA63NT♣9=-1
-0.9Round 19🇩🇰 DENMARK131NT♣2=+1
-1.0Round 4🇮🇪 IRELAND261NT♠5+2+10
-1.0Round 9🇭🇷 CROATIA133♠♣A-1-11
-1.0Round 12🇨🇿 CZECH REPUBLIC171NT♠J+1-6
-1.0Round 14🇵🇹 PORTUGAL193NT♦2=-13
-1.0Round 19🇩🇰 DENMARK103♥♣7-1-5
-1.1Round 19🇩🇰 DENMARK123♥♦10-1-2
-1.2Round 5🇳🇱 NETHERLANDS104♠♣K=-3
-1.2Round 23🇦🇹 AUSTRIA53♠♠7-1-10
-1.3Round 5🇳🇱 NETHERLANDS24♥♠8+1+0
-1.3Round 8🏴󠁧󠁢󠁥󠁮󠁧󠁿 ENGLAND292♠♠9+2+1
-1.3Round 9🇭🇷 CROATIA33♦♠10+1-7
-1.3Round 12🇨🇿 CZECH REPUBLIC196NT♥4+1-1
-1.3Round 12🇨🇿 CZECH REPUBLIC233♥♠8+1-10
-1.3Round 19🇩🇰 DENMARK52♠♥4+1+0
-1.3Round 19🇩🇰 DENMARK83♥♣K+1+4
-1.4Round 9🇭🇷 CROATIA144♠♦3+1+11
-1.4Round 17🇪🇪 ESTONIA64♠♦8+1+0
-1.5Round 1🇮🇹 ITALY33NT♦4=+0
-1.5Round 14🇵🇹 PORTUGAL245♣♥2-1-4
-1.5Round 22🇱🇻 LATVIA312♦♦2+2+1
-1.7Round 2🇳🇴 NORWAY172♦♠J-1-4
-1.7Round 9🇭🇷 CROATIA84♠♣2+1+0
-1.7Round 23🇦🇹 AUSTRIA34♦♥2-2+1
-1.8Round 2🇳🇴 NORWAY293♠♣9+1-1
-1.9Round 2🇳🇴 NORWAY202NT♥9=+0
-2.0Round 4🇮🇪 IRELAND203NT♣Q-2-13
-2.1Round 14🇵🇹 PORTUGAL286♥♠2=-11
-2.2Round 15🏴󠁧󠁢󠁳󠁣󠁴󠁿 SCOTLAND82♥♦3=-6
-2.3Round 1🇮🇹 ITALY52♠♥2+1-1
-2.5Round 4🇮🇪 IRELAND213NT♠3-1-12
-2.5Round 17🇪🇪 ESTONIA73NT♠2+1+1
-2.6Round 10🇷🇺 RUSSIA203♦♠K+1-10
-2.7Round 15🏴󠁧󠁢󠁳󠁣󠁴󠁿 SCOTLAND102♠♦2+2-10
-2.8Round 8🏴󠁧󠁢󠁥󠁮󠁧󠁿 ENGLAND265♥♠A=-4
-2.8Round 20🇩🇪 GERMANY252♣♦3-1-5
-2.9Round 17🇪🇪 ESTONIA41♠♣J+1-10
-3.0Round 1🇮🇹 ITALY96♠♦A=-1
-3.0Round 2🇳🇴 NORWAY272♥♦6+1-1
-3.2Round 17🇪🇪 ESTONIA124♥♠4-1-6
-3.3Round 2🇳🇴 NORWAY243NT♦2=+1
-3.5Round 9🇭🇷 CROATIA93NT♥5+1+10
-3.6Round 5🇳🇱 NETHERLANDS93NT♥9+1-4
-3.6Round 5🇳🇱 NETHERLANDS154♥♥6+1-6
-3.7Round 9🇭🇷 CROATIA122♦♥Q=-11
-3.7Round 20🇩🇪 GERMANY264♣♦6=+0
-3.8Round 1🇮🇹 ITALY103♥♦K-1+0
-3.9Round 1🇮🇹 ITALY43NT♣J-1-6
-3.9Round 10🇷🇺 RUSSIA315♥♣K=-2
-3.9Round 17🇪🇪 ESTONIA133NT♣2-1-12
-4.1Round 5🇳🇱 NETHERLANDS112♠x♦Q-1-7
-4.1Round 15🏴󠁧󠁢󠁳󠁣󠁴󠁿 SCOTLAND53NT♥5+1-1
-4.2Round 22🇱🇻 LATVIA301NT♦6=-11
-4.3Round 5🇳🇱 NETHERLANDS33♠♣6=-1
-4.5Round 2🇳🇴 NORWAY193NT♠8-1-5
-4.5Round 8🏴󠁧󠁢󠁥󠁮󠁧󠁿 ENGLAND243NT♠8-1-5
-4.5Round 12🇨🇿 CZECH REPUBLIC184♥♣4=+1
-4.5Round 23🇦🇹 AUSTRIA43NT♥7-1-12
-4.5Round 23🇦🇹 AUSTRIA72♠♣2=+1
-4.6Round 5🇳🇱 NETHERLANDS73NT♥10+3-11
-4.6Round 22🇱🇻 LATVIA224♥♣10-3-11
-4.6Round 23🇦🇹 AUSTRIA13♠♣3-2-6
-4.7Round 8🏴󠁧󠁢󠁥󠁮󠁧󠁿 ENGLAND273NT♣3-2-6
-4.9Round 14🇵🇹 PORTUGAL233NTx♦2-1-7
-5.0Round 20🇩🇪 GERMANY174♠♣3-1-11
-5.0Round 20🇩🇪 GERMANY233♥♠J=-1
-5.1Round 14🇵🇹 PORTUGAL184♠♦5=-10
-5.2Round 19🇩🇰 DENMARK21NT♠3-2-7
-5.4Round 10🇷🇺 RUSSIA285♣♥5+1+13
-5.4Round 15🏴󠁧󠁢󠁳󠁣󠁴󠁿 SCOTLAND134♥♦5=-10
-5.5Round 23🇦🇹 AUSTRIA153NT♥10+1+0
-5.6Round 2🇳🇴 NORWAY286NTx♦10-1-17
-5.7Round 20🇩🇪 GERMANY286♦♠Q=+0
-5.8Round 2🇳🇴 NORWAY314♠♠9+1-1
-5.9Round 1🇮🇹 ITALY136♠♣Q+1+13
-6.0Round 23🇦🇹 AUSTRIA84♠♥A=+1
-6.1Round 19🇩🇰 DENMARK65♦x♣A-2-5
-6.3Round 10🇷🇺 RUSSIA253NT♦3-1-12
-6.5Round 17🇪🇪 ESTONIA154♠♣8-1-9
-6.7Round 5🇳🇱 NETHERLANDS87♥♥9=-9
-7.8Round 4🇮🇪 IRELAND234♥♦Q=-9
-7.8Round 15🏴󠁧󠁢󠁳󠁣󠁴󠁿 SCOTLAND43♥x♦A-1-3
-8.7Round 2🇳🇴 NORWAY307♥♥10=+0
-8.8Round 12🇨🇿 CZECH REPUBLIC263NT♠4-3-14
-8.9Round 15🏴󠁧󠁢󠁳󠁣󠁴󠁿 SCOTLAND125♥♣A-1-13
-9.5Round 19🇩🇰 DENMARK14♠♦4+1-11
-9.5Round 22🇱🇻 LATVIA293NT♦K=-10
-9.6Round 8🏴󠁧󠁢󠁥󠁮󠁧󠁿 ENGLAND186♠♥A=+0
-9.6Round 22🇱🇻 LATVIA286♥♦Q-1-13
-11.0Round 4🇮🇪 IRELAND281♠x♠5-3-9
-11.1Round 8🏴󠁧󠁢󠁥󠁮󠁧󠁿 ENGLAND204♠♣8=-11
-11.3Round 15🏴󠁧󠁢󠁳󠁣󠁴󠁿 SCOTLAND36♥♦A-1-14
-11.4Round 5🇳🇱 NETHERLANDS126♠♠4=+0
-11.4Round 8🏴󠁧󠁢󠁥󠁮󠁧󠁿 ENGLAND254♠x♥10=-14
-13.1Round 22🇱🇻 LATVIA236♠♠7=+0
-13.2Round 23🇦🇹 AUSTRIA124♥♦5-1-14
-15.8Round 17🇪🇪 ESTONIA107♠♥5-1-20