🇹🇼 CHANG Kuan Wei · CHINESE TAIPEI
vs par split: bidding +0.04 · play +0.00
Strength of schedule: opponents averaged +0.13/bd (a tough draw) → opponent-adjusted -0.30/bd
Card play — on target: opening leads 61.9% #134 of 134 · declarer play 63.2% #124 of 134 · defence 79.3% #97 of 134
Bidding activity — not a pass: 39.1% #114 of 134 (168/430)
| vs NT | vs a suit | |
|---|---|---|
| Opening leads | 50.0% (12) | 66.7% (30) |
| Declarer play | 66.7% (12) | 61.5% (26) |
| Defence | 75.0% (24) | 81.0% (58) |
Opening leads by suit led: ♠ 50.0% (18) · ♥ 62.5% (8) · ♦ 66.7% (9) · ♣ 85.7% (7)
vs par by strain: NT +0.14 (51) · a suit +0.00 (105)
vs par by level: part-score -0.24 (66) · game +0.18 (78) · slam +0.75 (12)
By role: declaring -0.33/bd (-1.93 vs par · 74) · defending -0.53/bd (+1.83 vs par · 82)
By vulnerability: vulnerable -0.30/bd (-0.60 vs par · 78) · not vulnerable -0.57/bd (+0.69 vs par · 78)
By round↑ top
| Round | Partner | Opponents | Room | Bds | Butler | Avg | vs par |
|---|---|---|---|---|---|---|---|
| Round 1 | X.Lin | V.Leskovar – M.Ferenca | Closed | 12 | +9.2 | +0.77 | +2.92 |
| Round 3 | X.Lin | K.Rosenberg – B.Kristensen | Closed | 12 | -3.8 | -0.32 | +0.08 |
| Round 4 | X.Lin | S.Thorpe – S.Van Oosten | Open | 12 | -13.9 | -1.16 | -0.17 |
| Round 6 | X.Lin | ACHARYA SHUBHAM – A.Prakash | Open | 12 | -15.4 | -1.28 | +4.25 |
| Round 10 | X.Lin | H.Gao – N.Xu | Open | 12 | +9.0 | +0.75 | -0.75 |
| Round 11 | X.Lin | J.Bazyluk – T.Kielbasa | Closed | 12 | -9.6 | -0.80 | -0.92 |
| Round 12 | X.Lin | C.Mann – E.Hansson | Open | 12 | -19.3 | -1.61 | -1.25 |
| Round 16 | X.Lin | G.Donati – F.Porta | Open | 12 | -47.1 | -3.93 | -2.08 |
| Round 18 | X.Lin | D.Flicker – S.Wright | Open | 12 | -28.1 | -2.34 | -1.42 |
| Round 19 | X.Lin | O.Toledano – A.Zamir | Closed | 12 | +10.2 | +0.85 | +0.25 |
| Round 20 | X.Lin | R.Lorde – P.Nicholls | Open | 12 | +13.4 | +1.12 | -0.58 |
| Round 21 | X.Lin | D.Kapiris – M.Soumplis | Closed | 12 | +14.7 | +1.22 | +1.50 |
| Round 22 | X.Lin | D.Li – M.Zhao | Open | 12 | +13.2 | +1.10 | -1.25 |
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 |
|---|---|---|---|---|---|---|---|
| +11.3 | Round 19 | 🇮🇱 ISRAEL | 9 | 2♠ | ♦2 | -4 | +7 |
| +10.8 | Round 11 | 🇵🇱 POLAND | 7 | 4♥ | ♦A | -1 | +12 |
| +9.8 | Round 22 | 🇨🇦 CANADA | 20 | 4♥ | ♥6 | -1 | +7 |
| +9.1 | Round 4 | 🇳🇱 NETHERLANDS | 15 | 5♦x | ♠6 | = | +10 |
| +8.8 | Round 12 | 🇸🇪 SWEDEN | 13 | 6♥ | ♦6 | -1 | +19 |
| +8.3 | Round 12 | 🇸🇪 SWEDEN | 18 | 5♦ | ♥3 | -1 | +10 |
| +8.3 | Round 21 | 🇬🇷 GREECE | 5 | 3NTx | ♠7 | +1 | +8 |
| +7.7 | Round 10 | 🇸🇬 SINGAPORE | 14 | 4♠ | ♦Q | = | +3 |
| +7.6 | Round 1 | 🇭🇷 CROATIA | 1 | 4♠x | ♣K | = | +12 |
| +7.3 | Round 3 | 🇺🇸 USA1 | 6 | 4♥ | ♠A | = | +7 |
| +7.3 | Round 3 | 🇺🇸 USA1 | 8 | 3NT | ♠8 | -1 | +5 |
| +7.3 | Round 20 | 🇧🇧 BARBADOS | 14 | 3NT | ♥3 | +2 | +8 |
| +6.9 | Round 11 | 🇵🇱 POLAND | 11 | 5♣ | ♦2 | -1 | +5 |
| +6.9 | Round 22 | 🇨🇦 CANADA | 15 | 4♠ | ♣A | +2 | +1 |
| +6.7 | Round 6 | 🇮🇳 INDIA | 16 | 3♠ | ♣A | = | +12 |
| +6.7 | Round 10 | 🇸🇬 SINGAPORE | 21 | 3NT | ♣5 | = | -1 |
| +6.5 | Round 18 | 🇦🇺 AUSTRALIA | 22 | 4♠ | ♥8 | = | +11 |
| +6.3 | Round 1 | 🇭🇷 CROATIA | 2 | 4♠x | ♦K | -2 | +5 |
| +6.2 | Round 1 | 🇭🇷 CROATIA | 9 | 3NT | ♥4 | = | +0 |
| +6.2 | Round 22 | 🇨🇦 CANADA | 14 | 5♥x | ♠J | -2 | +9 |
| +5.8 | Round 1 | 🇭🇷 CROATIA | 7 | 3♠ | ♣5 | -2 | +7 |
| +5.7 | Round 1 | 🇭🇷 CROATIA | 3 | 4♥ | ♦7 | -3 | +5 |
| +5.6 | Round 20 | 🇧🇧 BARBADOS | 24 | 3♠ | ♦9 | -2 | +8 |
| +5.2 | Round 19 | 🇮🇱 ISRAEL | 5 | 3NT | ♦J | = | -2 |
| +5.1 | Round 4 | 🇳🇱 NETHERLANDS | 23 | 3NT | ♠2 | = | +3 |
| +5.0 | Round 6 | 🇮🇳 INDIA | 19 | 3♦x | ♥K | -1 | +11 |
| +4.9 | Round 6 | 🇮🇳 INDIA | 18 | 2♦x | ♥8 | -2 | +9 |
| +4.7 | Round 21 | 🇬🇷 GREECE | 8 | 3NT | ♥6 | +3 | +2 |
| +4.4 | Round 4 | 🇳🇱 NETHERLANDS | 14 | 3NT | ♠4 | -2 | +6 |
| +4.4 | Round 20 | 🇧🇧 BARBADOS | 15 | 3♦ | ♣A | -4 | +3 |
| +4.3 | Round 20 | 🇧🇧 BARBADOS | 20 | 1NT | ♣4 | +1 | +1 |
| +4.1 | Round 19 | 🇮🇱 ISRAEL | 10 | 3NT | ♠2 | -1 | +6 |
| +3.9 | Round 4 | 🇳🇱 NETHERLANDS | 18 | 3♠ | ♥Q | +2 | +8 |
| +3.9 | Round 18 | 🇦🇺 AUSTRALIA | 16 | 2♠ | ♦6 | -2 | +8 |
| +3.9 | Round 20 | 🇧🇧 BARBADOS | 19 | 3♣ | ♣2 | -2 | +2 |
| +3.6 | Round 19 | 🇮🇱 ISRAEL | 7 | 4♠ | ♦3 | -3 | -5 |
| +3.2 | Round 12 | 🇸🇪 SWEDEN | 21 | 2♠ | ♣6 | -2 | +0 |
| +3.1 | Round 19 | 🇮🇱 ISRAEL | 11 | 6♠ | ♥A | -1 | +14 |
| +3.0 | Round 3 | 🇺🇸 USA1 | 4 | 4♠ | ♥Q | = | +0 |
| +3.0 | Round 16 | 🇮🇹 ITALY | 24 | 3♥ | ♣A | = | +1 |
| +3.0 | Round 21 | 🇬🇷 GREECE | 4 | 1NT | ♥3 | -1 | +5 |
| +3.0 | Round 21 | 🇬🇷 GREECE | 9 | 5♠ | ♦9 | -1 | +5 |
| +3.0 | Round 21 | 🇬🇷 GREECE | 10 | 1♠ | ♥6 | +1 | +0 |
| +2.9 | Round 10 | 🇸🇬 SINGAPORE | 18 | 4♥ | ♠5 | = | +3 |
| +2.8 | Round 22 | 🇨🇦 CANADA | 16 | 3♠ | ♣J | = | +4 |
| +2.7 | Round 1 | 🇭🇷 CROATIA | 12 | 3♠ | ♦8 | -1 | +4 |
| +2.7 | Round 20 | 🇧🇧 BARBADOS | 13 | 5♦x | ♥A | -3 | -12 |
| +2.6 | Round 10 | 🇸🇬 SINGAPORE | 13 | 4♥x | ♠5 | -1 | +8 |
| +2.6 | Round 19 | 🇮🇱 ISRAEL | 2 | 3NT | ♠7 | = | -2 |
| +2.4 | Round 16 | 🇮🇹 ITALY | 23 | 1NT | ♣4 | -2 | +3 |
| +2.3 | Round 1 | 🇭🇷 CROATIA | 4 | 5♥ | ♠5 | +1 | +9 |
| +2.3 | Round 18 | 🇦🇺 AUSTRALIA | 24 | 2NT | ♦Q | -1 | +5 |
| +2.3 | Round 21 | 🇬🇷 GREECE | 12 | 3NT | ♥8 | +2 | +1 |
| +2.2 | Round 10 | 🇸🇬 SINGAPORE | 15 | 3NT | ♦6 | +4 | +2 |
| +2.1 | Round 3 | 🇺🇸 USA1 | 2 | 4♥ | ♠2 | +1 | +0 |
| +1.4 | Round 3 | 🇺🇸 USA1 | 9 | 1NT | ♠6 | +2 | +0 |
| +1.3 | Round 6 | 🇮🇳 INDIA | 23 | 3NT | ♠6 | +1 | +0 |
| +1.1 | Round 6 | 🇮🇳 INDIA | 21 | 3NT | ♠5 | +1 | +11 |
| +1.1 | Round 11 | 🇵🇱 POLAND | 5 | 2♠ | ♦J | -1 | -2 |
| +1.1 | Round 22 | 🇨🇦 CANADA | 19 | 3NT | ♣7 | +1 | +0 |
| +1.1 | Round 22 | 🇨🇦 CANADA | 24 | 4♦ | ♣A | -3 | +0 |
| +1.0 | Round 4 | 🇳🇱 NETHERLANDS | 20 | 4♠ | ♦4 | +2 | +1 |
| +1.0 | Round 6 | 🇮🇳 INDIA | 14 | 2♠ | ♥3 | -1 | +2 |
| +1.0 | Round 12 | 🇸🇪 SWEDEN | 20 | 1NT | ♠T | -2 | +2 |
| +0.9 | Round 22 | 🇨🇦 CANADA | 18 | 4♠ | ♠A | = | +0 |
| +0.7 | Round 4 | 🇳🇱 NETHERLANDS | 22 | 4NT | ♥K | = | -1 |
| +0.7 | Round 21 | 🇬🇷 GREECE | 1 | 3NT | ♥3 | +1 | +1 |
| +0.7 | Round 22 | 🇨🇦 CANADA | 13 | 1NT | ♦K | -1 | +0 |
| +0.6 | Round 16 | 🇮🇹 ITALY | 13 | 4♠ | ♥3 | +1 | +0 |
| +0.5 | Round 3 | 🇺🇸 USA1 | 3 | 1NT | ♠7 | -1 | +3 |
| +0.5 | Round 10 | 🇸🇬 SINGAPORE | 22 | 2♠ | ♣T | +1 | +0 |
| +0.3 | Round 12 | 🇸🇪 SWEDEN | 24 | 3NT | ♠A | -2 | +0 |
| +0.3 | Round 21 | 🇬🇷 GREECE | 2 | 2♠ | ♦8 | +2 | +6 |
| -0.1 | Round 16 | 🇮🇹 ITALY | 22 | 6♥ | ♠K | +1 | +6 |
| -0.1 | Round 20 | 🇧🇧 BARBADOS | 18 | 2♥ | ♠4 | -1 | +0 |
| -0.2 | Round 21 | 🇬🇷 GREECE | 6 | 5♦ | ♣A | = | +2 |
| -0.3 | Round 18 | 🇦🇺 AUSTRALIA | 19 | 2♦ | ♣3 | +1 | +0 |
| -0.3 | Round 19 | 🇮🇱 ISRAEL | 4 | 3NT | ♠6 | +1 | +0 |
| -0.4 | Round 10 | 🇸🇬 SINGAPORE | 16 | 2♠ | ♦5 | +1 | -1 |
| -0.4 | Round 19 | 🇮🇱 ISRAEL | 1 | 2♥x | ♠K | -2 | +4 |
| -0.5 | Round 1 | 🇭🇷 CROATIA | 11 | 3NT | ♥4 | +2 | +11 |
| -0.6 | Round 20 | 🇧🇧 BARBADOS | 23 | 1♦ | ♥J | -2 | -2 |
| -0.6 | Round 22 | 🇨🇦 CANADA | 17 | 4♥ | ♠8 | -1 | -10 |
| -0.7 | Round 3 | 🇺🇸 USA1 | 5 | 3♥ | ♠A | -1 | -3 |
| -0.7 | Round 4 | 🇳🇱 NETHERLANDS | 13 | 2♠ | ♦6 | = | -1 |
| -0.7 | Round 11 | 🇵🇱 POLAND | 12 | 4♠ | ♥A | = | +0 |
| -0.9 | Round 6 | 🇮🇳 INDIA | 22 | 5♥ | ♠J | = | +13 |
| -0.9 | Round 10 | 🇸🇬 SINGAPORE | 23 | 2♠ | ♥A | +1 | -1 |
| -0.9 | Round 11 | 🇵🇱 POLAND | 10 | 3NT | ♠8 | +2 | +0 |
| -1.0 | Round 18 | 🇦🇺 AUSTRALIA | 14 | 5♥ | ♠K | = | +0 |
| -1.1 | Round 3 | 🇺🇸 USA1 | 1 | 1NT | ♦4 | +1 | +0 |
| -1.3 | Round 22 | 🇨🇦 CANADA | 21 | 5♣ | ♠7 | +1 | -13 |
| -1.6 | Round 16 | 🇮🇹 ITALY | 19 | 3NT | ♠4 | +2 | +12 |
| -1.6 | Round 18 | 🇦🇺 AUSTRALIA | 21 | 3♠ | ♣J | = | +0 |
| -1.8 | Round 11 | 🇵🇱 POLAND | 3 | 3♠ | ♥5 | +1 | -1 |
| -1.8 | Round 11 | 🇵🇱 POLAND | 6 | 2♠ | ♦K | = | -7 |
| -1.8 | Round 20 | 🇧🇧 BARBADOS | 17 | 3♣ | ♠3 | = | +0 |
| -2.0 | Round 10 | 🇸🇬 SINGAPORE | 17 | 2♠ | ♣5 | -1 | -5 |
| -2.1 | Round 10 | 🇸🇬 SINGAPORE | 24 | 4♠ | ♥J | +2 | -11 |
| -2.2 | Round 10 | 🇸🇬 SINGAPORE | 20 | 4♥ | ♣K | +2 | -1 |
| -2.2 | Round 11 | 🇵🇱 POLAND | 4 | 3♣ | ♦2 | = | -11 |
| -2.3 | Round 19 | 🇮🇱 ISRAEL | 6 | 2♠ | ♠3 | -1 | -4 |
| -2.4 | Round 3 | 🇺🇸 USA1 | 11 | 4♠ | ♣K | +1 | +8 |
| -2.4 | Round 12 | 🇸🇪 SWEDEN | 16 | 1NT | ♥6 | +2 | +1 |
| -2.4 | Round 20 | 🇧🇧 BARBADOS | 22 | 2NT | ♥5 | -1 | +2 |
| -2.5 | Round 1 | 🇭🇷 CROATIA | 8 | 4♠ | ♥J | +1 | -1 |
| -2.5 | Round 19 | 🇮🇱 ISRAEL | 3 | 2♥ | ♦9 | +2 | -6 |
| -2.5 | Round 21 | 🇬🇷 GREECE | 3 | 2♥ | ♣8 | +2 | -2 |
| -2.5 | Round 22 | 🇨🇦 CANADA | 22 | 6♥ | ♣8 | = | +0 |
| -2.6 | Round 11 | 🇵🇱 POLAND | 2 | 4♠ | ♦6 | +1 | +2 |
| -2.7 | Round 4 | 🇳🇱 NETHERLANDS | 24 | 2NT | ♥Q | +1 | -6 |
| -2.7 | Round 18 | 🇦🇺 AUSTRALIA | 23 | 2♠ | ♥J | = | -1 |
| -3.0 | Round 4 | 🇳🇱 NETHERLANDS | 16 | 2NT | ♠Q | -1 | +3 |
| -3.6 | Round 6 | 🇮🇳 INDIA | 24 | 3♥ | ♠3 | +2 | -3 |
| -3.6 | Round 18 | 🇦🇺 AUSTRALIA | 13 | 3NT | ♥4 | +2 | -13 |
| -3.6 | Round 21 | 🇬🇷 GREECE | 11 | 3NT | ♠J | -1 | -10 |
| -3.7 | Round 1 | 🇭🇷 CROATIA | 5 | 1NT | ♠4 | -1 | -5 |
| -3.8 | Round 18 | 🇦🇺 AUSTRALIA | 18 | 5♦ | ♠Q | +2 | -1 |
| -4.0 | Round 12 | 🇸🇪 SWEDEN | 15 | 4♥ | ♠K | -2 | -8 |
| -4.1 | Round 20 | 🇧🇧 BARBADOS | 16 | 1NT | ♦K | = | -6 |
| -4.2 | Round 16 | 🇮🇹 ITALY | 21 | 3♠ | ♥J | = | -6 |
| -4.3 | Round 21 | 🇬🇷 GREECE | 7 | 1NT | ♠9 | +1 | +0 |
| -4.5 | Round 12 | 🇸🇪 SWEDEN | 17 | 3NT | ♣3 | = | +1 |
| -4.9 | Round 11 | 🇵🇱 POLAND | 8 | 2NT | ♠3 | +2 | -2 |
| -5.2 | Round 3 | 🇺🇸 USA1 | 10 | 3NT | ♥2 | -1 | -12 |
| -5.3 | Round 12 | 🇸🇪 SWEDEN | 23 | 3♠ | ♣K | -1 | -6 |
| -5.5 | Round 6 | 🇮🇳 INDIA | 13 | 3♣ | ♥6 | -2 | -7 |
| -5.5 | Round 11 | 🇵🇱 POLAND | 9 | 3NT | ♣2 | +1 | +0 |
| -5.5 | Round 12 | 🇸🇪 SWEDEN | 19 | 5♣x | ♥A | -3 | -9 |
| -5.5 | Round 18 | 🇦🇺 AUSTRALIA | 17 | 3NT | ♠3 | = | +0 |
| -5.7 | Round 4 | 🇳🇱 NETHERLANDS | 17 | 6NT | ♦8 | = | +0 |
| -5.7 | Round 19 | 🇮🇱 ISRAEL | 8 | 3♦ | ♠2 | +1 | -1 |
| -5.8 | Round 20 | 🇧🇧 BARBADOS | 21 | 2♦x | ♠A | -1 | -11 |
| -5.9 | Round 16 | 🇮🇹 ITALY | 14 | 2NT | ♦8 | -1 | -10 |
| -6.0 | Round 3 | 🇺🇸 USA1 | 12 | 3♣ | ♠4 | = | +1 |
| -6.0 | Round 10 | 🇸🇬 SINGAPORE | 19 | 5♥ | ♣7 | +1 | -5 |
| -6.9 | Round 16 | 🇮🇹 ITALY | 15 | 4♠ | ♦A | -1 | -12 |
| -6.9 | Round 16 | 🇮🇹 ITALY | 17 | 4♠ | ♠2 | = | +0 |
| -7.2 | Round 6 | 🇮🇳 INDIA | 15 | 6♠ | ♥6 | = | +11 |
| -7.8 | Round 16 | 🇮🇹 ITALY | 20 | 6♠ | ♣A | = | +0 |
| -8.0 | Round 11 | 🇵🇱 POLAND | 1 | 3NT | ♦6 | = | -7 |
| -8.5 | Round 19 | 🇮🇱 ISRAEL | 12 | 3NT | ♥K | +1 | -8 |
| -9.0 | Round 6 | 🇮🇳 INDIA | 20 | 6♠ | ♣K | = | +0 |
| -9.2 | Round 6 | 🇮🇳 INDIA | 17 | 4♥ | ♠A | = | -8 |
| -9.3 | Round 12 | 🇸🇪 SWEDEN | 22 | 2♠ | ♦6 | +1 | -11 |
| -9.3 | Round 16 | 🇮🇹 ITALY | 18 | 2♥x | ♠3 | -3 | -9 |
| -9.3 | Round 18 | 🇦🇺 AUSTRALIA | 20 | 4♥ | ♦6 | = | -10 |
| -9.4 | Round 1 | 🇭🇷 CROATIA | 10 | 4♠ | ♥T | -1 | -12 |
| -9.9 | Round 12 | 🇸🇪 SWEDEN | 14 | 6♥ | ♣J | -1 | -14 |
| -10.0 | Round 3 | 🇺🇸 USA1 | 7 | 2♦x | ♦2 | -2 | -8 |
| -10.4 | Round 16 | 🇮🇹 ITALY | 16 | 3NT | ♠J | = | -10 |
| -11.3 | Round 1 | 🇭🇷 CROATIA | 6 | 6♠ | ♠T | = | +0 |
| -11.9 | Round 22 | 🇨🇦 CANADA | 23 | 5♥ | ♥7 | +1 | -13 |
| -12.7 | Round 4 | 🇳🇱 NETHERLANDS | 19 | 5♣x | ♠A | -3 | -14 |
| -13.0 | Round 18 | 🇦🇺 AUSTRALIA | 15 | 7♦x | ♣A | -1 | -16 |
| -13.3 | Round 4 | 🇳🇱 NETHERLANDS | 21 | 6♠x | ♣4 | -1 | -11 |