🇸🇬 LUO Cheng · SINGAPORE

64rank
-4.9Butler · 224 bds
-0.02per board
±4.3swing
+0.29vs par /bd · #35/127
+0.03adjusted /bd
Butler per round: -6.1 -20 -3.7 -36.1 -0.8 9.3 4.6 -2.3 19.3 -1.6 13 -3.1 5.8 16.8by round

vs par split: bidding +0.07 · play +0.28

Strength of schedule: opponents averaged +0.05/bd (an average draw) → opponent-adjusted +0.03/bd

Card play — on target: opening leads 75.8% #93 of 127 · declarer play 66.7% #119 of 127 · defence 91.9% #15 of 127

Card play by contract type — on target
vs NTvs a suit
Opening leads65.0% (20)81.0% (42)
Declarer play50.0% (12)74.1% (27)
Defence91.9% (37)91.9% (86)

Opening leads by suit led: ♠ 63.6% (11) · ♥ 52.9% (17) · ♦ 90.0% (20) · ♣ 92.9% (14)

vs par by strain: NT +1.34 (68) · a suit -0.10 (152)

vs par by level: part-score -0.15 (61) · game +0.52 (143) · slam +0.62 (16)

By role: declaring -0.06/bd (-3.15 vs par · 99) · defending +0.01/bd (+3.01 vs par · 125)

By vulnerability: vulnerable -0.12/bd (-0.11 vs par · 112) · not vulnerable +0.08/bd (+0.68 vs par · 112)

By round↑ top

RoundPartnerOpponentsRoomBdsButlerAvgvs par
Round 2Y.ZhangD.Sabourin – S.HuangOpen16-6.1-0.38-0.25
Round 3Y.ZhangM.Abdel Fattah – A.BaklyClosed16-20.0-1.25-0.75
Round 5Y.ZhangJ.Hackett – J.HackettClosed16-3.7-0.23+0.19
Round 6Y.ZhangR.Levin – S.WeinsteinClosed16-36.1-2.26-2.69
Round 7Y.ZhangR.Stephens – H.FickOpen16-0.8-0.05-0.69
Round 8Y.ZhangG.Tislevoll – M.WareClosed16+9.3+0.58-2.25
Round 10Y.ZhangX.Li – L.HuClosed16+4.6+0.29+2.56
Round 11Y.ZhangT.Teramoto – H.KakuClosed16-2.3-0.14+2.62
Round 14Y.ZhangP.Lambardi – R.AngeleriOpen16+19.3+1.21-1.38
Round 15Y.ZhangS.Mukherjee – D.MajumdarOpen16-1.6-0.10+2.25
Round 16Y.ZhangF.Nystrom – J.UpmarkClosed16+13.0+0.81+0.94
Round 18Y.ZhangG.Chagas – M.Villas-BoasOpen16-3.1-0.19-0.56
Round 19Y.ZhangN.Lhuissier – G.TessieresClosed16+5.8+0.36+3.25
Round 21Y.ZhangS.Christiansen – M.SchaltzClosed16+16.8+1.05+0.75

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
+12.0Round 19🇫🇷 FRANCE143NT♥Q-2+17
+11.0Round 7🇿🇦 SOUTH AFRICA36NT♣7-2+14
+10.5Round 7🇿🇦 SOUTH AFRICA106♠♥A-3+14
+10.5Round 8🇳🇿 NEW ZEALAND196♦♥A=-2
+10.2Round 11🇯🇵 JAPAN123NT♣6-1+12
+10.0Round 19🇫🇷 FRANCE74♥♥3-3+10
+9.2Round 14🇦🇷 ARGENTINA176♣♦J=-12
+9.2Round 19🇫🇷 FRANCE106♥♠A-1+13
+9.1Round 5🏴󠁧󠁢󠁥󠁮󠁧󠁿 ENGLAND75♣x♦10-2+12
+9.1Round 14🇦🇷 ARGENTINA315♣♠A-1+12
+8.8Round 2🇨🇦 CANADA235♦♠8-1+12
+8.3Round 21🇩🇰 DENMARK36♠♦J=+0
+8.2Round 18🇧🇷 BRAZIL184♠♦2=+7
+7.1Round 14🇦🇷 ARGENTINA191NT♥8+3+2
+7.0Round 14🇦🇷 ARGENTINA186♠♥A-2+11
+6.5Round 15🇮🇳 INDIA144♥♦10-1+10
+6.4Round 5🏴󠁧󠁢󠁥󠁮󠁧󠁿 ENGLAND53NT♠3=+10
+6.3Round 16🇸🇪 SWEDEN253NT♠Q=+7
+6.0Round 5🏴󠁧󠁢󠁥󠁮󠁧󠁿 ENGLAND33NT♠7-2+2
+5.9Round 15🇮🇳 INDIA74♠♥5-3+10
+5.5Round 14🇦🇷 ARGENTINA303NT♠7=+0
+5.5Round 19🇫🇷 FRANCE23NT♠5-6+8
+5.3Round 21🇩🇰 DENMARK163NT♥3=+6
+5.2Round 2🇨🇦 CANADA215♣♦3+1+3
+5.1Round 10🇨🇳 CHINA213NT♥10+1+1
+4.7Round 16🇸🇪 SWEDEN203♦♠A=+6
+4.6Round 18🇧🇷 BRAZIL174♠♠A=+0
+4.6Round 18🇧🇷 BRAZIL242♠♠Q+1+1
+4.5Round 16🇸🇪 SWEDEN263NT♣8+1+12
+4.4Round 10🇨🇳 CHINA194♠♣2=+0
+4.4Round 16🇸🇪 SWEDEN234♥♠K+1+4
+4.3Round 15🇮🇳 INDIA66♠♦3+1+13
+4.1Round 16🇸🇪 SWEDEN214♥♦6+1-13
+3.9Round 15🇮🇳 INDIA33NT♦2=+0
+3.9Round 21🇩🇰 DENMARK15Pass-3
+3.8Round 8🇳🇿 NEW ZEALAND244♥♣Q=+3
+3.7Round 18🇧🇷 BRAZIL234♣♥A+1+10
+3.6Round 10🇨🇳 CHINA274♥♠8-3+1
+3.5Round 2🇨🇦 CANADA203NT♦7+2+13
+3.5Round 7🇿🇦 SOUTH AFRICA52♥♣7-1+5
+3.5Round 8🇳🇿 NEW ZEALAND215♣♠A=+0
+3.4Round 16🇸🇪 SWEDEN313NT♥10=-1
+3.4Round 21🇩🇰 DENMARK73NT♠3-1+12
+3.3Round 11🇯🇵 JAPAN104♣♠10=-2
+3.0Round 5🏴󠁧󠁢󠁥󠁮󠁧󠁿 ENGLAND123♠♥3-4+2
+2.6Round 2🇨🇦 CANADA303NT♥3-1+4
+2.5Round 8🇳🇿 NEW ZEALAND262♠♠3-1-1
+2.5Round 21🇩🇰 DENMARK94♠♣Q-1+6
+2.4Round 15🇮🇳 INDIA91NT♠3=+5
+2.4Round 18🇧🇷 BRAZIL293♣♥A-1+5
+2.4Round 19🇫🇷 FRANCE53NT♥2-1+5
+2.2Round 11🇯🇵 JAPAN73♦♥9=-1
+2.2Round 11🇯🇵 JAPAN82♠♠4+2+6
+2.2Round 16🇸🇪 SWEDEN321NT♠9=+0
+2.1Round 7🇿🇦 SOUTH AFRICA155♦♥Q+1-1
+2.0Round 2🇨🇦 CANADA174♥♠4-1+4
+2.0Round 2🇨🇦 CANADA284♠♦2-1+5
+2.0Round 11🇯🇵 JAPAN112♥♥8+4+6
+1.9Round 15🇮🇳 INDIA14♠♥A-1-2
+1.8Round 10🇨🇳 CHINA203NT♦Q-2+13
+1.8Round 11🇯🇵 JAPAN53NT♦J=-1
+1.8Round 11🇯🇵 JAPAN142♠♥10+2+6
+1.8Round 16🇸🇪 SWEDEN223NT♠3=-1
+1.8Round 21🇩🇰 DENMARK144♠♦3=-11
+1.7Round 10🇨🇳 CHINA263NT♦10-2+8
+1.6Round 7🇿🇦 SOUTH AFRICA163♥♥A=+0
+1.5Round 3🇪🇬 EGYPT144♠♣3-2+6
+1.5Round 15🇮🇳 INDIA114♠♦9+3+10
+1.4Round 6🇺🇸 USA1222♠♦2+1+0
+1.4Round 6🇺🇸 USA1233NT♦2-1+6
+1.4Round 7🇿🇦 SOUTH AFRICA94♥♠A+1-13
+1.4Round 16🇸🇪 SWEDEN274♠♥10+1+11
+1.4Round 18🇧🇷 BRAZIL274♠♣A-4+3
+1.3Round 2🇨🇦 CANADA243♥♦4=+6
+1.2Round 3🇪🇬 EGYPT13♠♦4=+1
+1.2Round 7🇿🇦 SOUTH AFRICA45♦♠Q+1-13
+1.1Round 8🇳🇿 NEW ZEALAND294♥♣3=+1
+1.1Round 21🇩🇰 DENMARK53NT♦3=+2
+1.0Round 3🇪🇬 EGYPT75♣♥J+1+13
+1.0Round 10🇨🇳 CHINA245♠♣K+1+8
+1.0Round 10🇨🇳 CHINA326NT♦6+1+11
+0.9Round 3🇪🇬 EGYPT32♥♦J-1+2
+0.9Round 14🇦🇷 ARGENTINA285♥x♠K-2+5
+0.9Round 18🇧🇷 BRAZIL254♥♣3+2-1
+0.8Round 8🇳🇿 NEW ZEALAND174♥♦2+2-1
+0.6Round 6🇺🇸 USA1303NT♦2+2+0
+0.6Round 10🇨🇳 CHINA253NT♣Q-1+5
+0.5Round 2🇨🇦 CANADA313NT♥10+2+10
+0.5Round 10🇨🇳 CHINA294♠♣A-1-1
+0.5Round 11🇯🇵 JAPAN24♠♣K+1+13
+0.5Round 14🇦🇷 ARGENTINA241NT♦K-2-1
+0.5Round 14🇦🇷 ARGENTINA324♥♠Q+1+0
+0.4Round 5🏴󠁧󠁢󠁥󠁮󠁧󠁿 ENGLAND153NT♦4=-2
+0.4Round 6🇺🇸 USA1243♣♦2-1-2
+0.4Round 8🇳🇿 NEW ZEALAND221NT♥6+2-10
+0.4Round 8🇳🇿 NEW ZEALAND232♣♣2-3-7
+0.4Round 21🇩🇰 DENMARK43NT♥3=+0
+0.3Round 16🇸🇪 SWEDEN243NT♥2+1+11
+0.3Round 21🇩🇰 DENMARK114♦♥A-1-2
+0.2Round 6🇺🇸 USA1293♠♦2=+0
+0.2Round 8🇳🇿 NEW ZEALAND304♥♣A+1+0
+0.2Round 21🇩🇰 DENMARK25♦♥2=-1
+0.1Round 3🇪🇬 EGYPT112♦x♣A-2+3
-0.0Round 5🏴󠁧󠁢󠁥󠁮󠁧󠁿 ENGLAND144♥♣Q+2-11
+0.0Round 6🇺🇸 USA1213NT♦2=-3
-0.0Round 6🇺🇸 USA131Pass-3
+0.0Round 8🇳🇿 NEW ZEALAND254♠♥6+2-9
-0.0Round 14🇦🇷 ARGENTINA223NT♥6+2-1
+0.0Round 15🇮🇳 INDIA83♦♥2=+0
+0.0Round 15🇮🇳 INDIA163NT♥6=+0
+0.0Round 16🇸🇪 SWEDEN304♠♥J=+0
+0.0Round 19🇫🇷 FRANCE33NT♣8+2+11
-0.0Round 21🇩🇰 DENMARK103NT♦J=+2
-0.1Round 7🇿🇦 SOUTH AFRICA143NT♠9+3-10
-0.1Round 10🇨🇳 CHINA313NT♠K=-2
-0.1Round 16🇸🇪 SWEDEN292♦♠4=+1
-0.2Round 3🇪🇬 EGYPT64♥♠2=+0
-0.2Round 5🏴󠁧󠁢󠁥󠁮󠁧󠁿 ENGLAND134♥♣7=+0
-0.2Round 18🇧🇷 BRAZIL262♠♥K-1+1
-0.3Round 11🇯🇵 JAPAN163NT♥5+1+1
-0.4Round 18🇧🇷 BRAZIL193NT♣3+1+0
-0.4Round 21🇩🇰 DENMARK13Pass-3
-0.5Round 19🇫🇷 FRANCE83♠♦A-1+2
-0.6Round 8🇳🇿 NEW ZEALAND313NT♠7+2-1
-0.6Round 19🇫🇷 FRANCE122NT♣7-3-3
-0.7Round 3🇪🇬 EGYPT24♠♣4+2+11
-0.7Round 11🇯🇵 JAPAN14♠♥8-1+5
-0.8Round 10🇨🇳 CHINA173NT♥7=+0
-0.8Round 10🇨🇳 CHINA22Pass-3
-0.9Round 6🇺🇸 USA1175♥♦2-1-4
-0.9Round 19🇫🇷 FRANCE42♣♣3-3-4
-1.0Round 3🇪🇬 EGYPT154♥♣Q+1+0
-1.0Round 5🏴󠁧󠁢󠁥󠁮󠁧󠁿 ENGLAND165♥♦10=-11
-1.0Round 7🇿🇦 SOUTH AFRICA24♦♠10-1+2
-1.0Round 8🇳🇿 NEW ZEALAND323NT♠4+2-13
-1.0Round 14🇦🇷 ARGENTINA275♣x♠10-1-6
-1.1Round 18🇧🇷 BRAZIL224♥♦2+1-4
-1.2Round 2🇨🇦 CANADA254♠♣J=+0
-1.2Round 3🇪🇬 EGYPT103♥♣J-1-1
-1.2Round 5🏴󠁧󠁢󠁥󠁮󠁧󠁿 ENGLAND24♥♠9+2+11
-1.2Round 15🇮🇳 INDIA54♠♦3-1-6
-1.2Round 18🇧🇷 BRAZIL204♠♥A-1-6
-1.3Round 2🇨🇦 CANADA323♣♠A-1-7
-1.3Round 14🇦🇷 ARGENTINA263♠♦J-1-1
-1.4Round 2🇨🇦 CANADA185♦♣A=-13
-1.4Round 19🇫🇷 FRANCE64♥♦Q+1+0
-1.4Round 21🇩🇰 DENMARK84♥♦Q+1+0
-1.5Round 3🇪🇬 EGYPT124♠♥K-1-5
-1.5Round 7🇿🇦 SOUTH AFRICA84♥♠K+1+0
-1.5Round 10🇨🇳 CHINA302♠♦K=+0
-1.5Round 18🇧🇷 BRAZIL304♥♣3-1-5
-1.5Round 21🇩🇰 DENMARK62♠♦K=+9
-1.6Round 10🇨🇳 CHINA233♦♦7+1+0
-1.7Round 3🇪🇬 EGYPT44♠♦9+1-4
-1.7Round 3🇪🇬 EGYPT81NT♥2+3-1
-1.7Round 7🇿🇦 SOUTH AFRICA15♦♠A+1-3
-1.7Round 10🇨🇳 CHINA283NT♣2+2+0
-1.8Round 3🇪🇬 EGYPT53NT♥4-1-12
-1.8Round 15🇮🇳 INDIA22♠♠6-2+5
-1.9Round 7🇿🇦 SOUTH AFRICA75♦♥3+1+13
-1.9Round 15🇮🇳 INDIA124♠♦2+1+0
-1.9Round 16🇸🇪 SWEDEN283NT♠10-2-8
-1.9Round 19🇫🇷 FRANCE164♥♣A+1-1
-1.9Round 21🇩🇰 DENMARK126♠♥Q=+0
-2.0Round 3🇪🇬 EGYPT93NT♠5-1-5
-2.0Round 5🏴󠁧󠁢󠁥󠁮󠁧󠁿 ENGLAND81NTx♦Q-1+0
-2.0Round 19🇫🇷 FRANCE93♠♠3=+0
-2.1Round 3🇪🇬 EGYPT165♦♠K+1-11
-2.1Round 8🇳🇿 NEW ZEALAND184♥♦K=-3
-2.1Round 11🇯🇵 JAPAN93NT♦3=+0
-2.3Round 2🇨🇦 CANADA193NT♦7=+0
-2.3Round 7🇿🇦 SOUTH AFRICA63♥♠5=+0
-2.4Round 19🇫🇷 FRANCE112♥♣2+2+6
-2.5Round 5🏴󠁧󠁢󠁥󠁮󠁧󠁿 ENGLAND14NT♣6+1+11
-2.5Round 8🇳🇿 NEW ZEALAND202♥♥Q=-6
-2.5Round 14🇦🇷 ARGENTINA294♠♥Q=+1
-2.6Round 5🏴󠁧󠁢󠁥󠁮󠁧󠁿 ENGLAND64♠♦A+1-8
-2.7Round 11🇯🇵 JAPAN133♦♦7=+0
-2.8Round 14🇦🇷 ARGENTINA203NT♦2+2-12
-2.9Round 5🏴󠁧󠁢󠁥󠁮󠁧󠁿 ENGLAND113♣♠A+1-1
-3.0Round 8🇳🇿 NEW ZEALAND273NT♠3=+0
-3.1Round 18🇧🇷 BRAZIL282NT♣4=+0
-3.3Round 15🇮🇳 INDIA134♥♦6-1+1
-3.4Round 6🇺🇸 USA1264♠♦2+1+0
-3.5Round 2🇨🇦 CANADA272♠x♥Q-1-5
-3.6Round 14🇦🇷 ARGENTINA233♠♦6=-12
-3.6Round 15🇮🇳 INDIA102♥♠4+2+10
-3.7Round 5🏴󠁧󠁢󠁥󠁮󠁧󠁿 ENGLAND44♥♣K-1-6
-3.7Round 16🇸🇪 SWEDEN184♠♦6+1+0
-3.7Round 18🇧🇷 BRAZIL316♦♥Q+1+0
-3.8Round 6🇺🇸 USA1254♠♦2-2-11
-3.9Round 11🇯🇵 JAPAN35♦♠6-1+8
-4.1Round 14🇦🇷 ARGENTINA213♣♣A+2-2
-4.2Round 11🇯🇵 JAPAN154♥♦A-1-5
-4.3Round 19🇫🇷 FRANCE133NT♠Q-1-7
-4.4Round 6🇺🇸 USA1322♠♥6+2-2
-4.5Round 6🇺🇸 USA1202NT♥Q-1-6
-4.7Round 6🇺🇸 USA1274♠♦4=+0
-4.7Round 8🇳🇿 NEW ZEALAND283NT♥3+3+13
-4.8Round 2🇨🇦 CANADA225♣♥A-2-7
-4.9Round 5🏴󠁧󠁢󠁥󠁮󠁧󠁿 ENGLAND102♦♣10-3-6
-5.1Round 11🇯🇵 JAPAN64♠♣K+2-1
-5.2Round 7🇿🇦 SOUTH AFRICA114♠♣J-1-5
-5.2Round 14🇦🇷 ARGENTINA254♥♦10-1-6
-5.2Round 21🇩🇰 DENMARK12♠x♥3-2-5
-6.0Round 6🇺🇸 USA1196♦x♣4-1-13
-6.0Round 16🇸🇪 SWEDEN172♦♥4=-5
-6.1Round 6🇺🇸 USA1184♠x♥3-2-5
-6.1Round 7🇿🇦 SOUTH AFRICA133NT♠A+2-1
-6.3Round 6🇺🇸 USA1284♥♦2=+0
-6.6Round 2🇨🇦 CANADA266NT♠A-1-13
-6.9Round 19🇫🇷 FRANCE14♥♦J-2-5
-7.3Round 11🇯🇵 JAPAN45♥x♠6=-5
-7.5Round 15🇮🇳 INDIA156♦x♥6-1-13
-7.5Round 18🇧🇷 BRAZIL213NTx♥9-1-11
-7.6Round 5🏴󠁧󠁢󠁥󠁮󠁧󠁿 ENGLAND94♥♠Q=+0
-8.4Round 16🇸🇪 SWEDEN191NTx♥K-2-9
-8.6Round 10🇨🇳 CHINA184♠♦3=+0
-8.7Round 15🇮🇳 INDIA45♣x♥Q-2-7
-10.2Round 18🇧🇷 BRAZIL321NTx♦J-3-9
-10.8Round 3🇪🇬 EGYPT134♠x♦A+2-9
-10.9Round 2🇨🇦 CANADA294♥♥7-1-16
-12.3Round 7🇿🇦 SOUTH AFRICA126♦♥Q=-13
-12.4Round 19🇫🇷 FRANCE156♦♥10=+0