The Social Network

up arrow
by Matthew Kidd

11:15, restate my assumptions: 1. Mathematics is the language of nature. 2. Everything around us can be represented and understood through numbers. 3. If you graph these numbers, patterns emerge. Therefore: There are patterns everywhere in nature.

– Maximillian Cohen

This is insanity, Max.

– Sol Robeson

Ever wondered what Facebook, Google+, and all those other social networking sites really know? Lots and lots. But sadly most of their intellectual energies are wasted identifying targeted ads that you’ll be just slightly more inclined to click on. Let’s look at something more interesting.

In mathematics, a graph is a collection of points (nodes) and lines (edges) connecting pairs of points. Both the nodes and edges may have properties such as a name (label), color or a number (weight). Often the edges have a direction so that flow can be represented but we will not make use of that aspect below.

Our nodes will represent bridge players and have a name and attendance history as their properties. The edges will represent bridge partnerships from pairs games and have the number of sessions, average percentage, and partnership history as properties.

I have written a Perl program that extracts data directly from ACBLscore game files and generates social network graphs. Here is an example PDF icon SVG icon for the La Jolla Unit game covering the time period from early 2007 to the present. The numbers next to the edge for each partnership indicate how many sessions the partnership has played. This is also roughly indicated by thin, medium, and thick lines. Blue lines and blue text indicate strong partnerships and players respectively, those ranking in the top 10%. The players in green boxes have the highest attendance. Collectively they represent 50% of the table count. The players in orange boxes collectively represent 25% of the table count. Player in thick boxes are highly promiscuous.

Since these diagrams are quite large you may wish to maximize your web browser window so that it fills the entire screen. Alternatively, you can zoom in on the PDF file so that it is shown at full size and then move around using the scrollbars. If you have the latest Adobe Acrobat 10 installed, you can do this by moving your mouse to the bottom of the PDF diagram until the gray toolbar appears and then clicking on the plus symbol. You can search for a player by pressing Ctrl+F and typing part of their name into the light blue Acrobat search box that appears in the upper left corner of the diagram. Edge labels always appear above an edge. Keep this in mind when examining cluttered regions.

Richer data

With all the one-day stands, the social graphs can be very complex. The first example was simplified in two ways. Edges for partnerships who have played fewer than four sessions were dropped. Players with no partnerships after this cut are not shown. Second, strictly monogamous players were not shown. These are players in partnerships where both partners are monogamous after dropping any short flings of fewer than four sessions. But many monogamous players are regulars and often they are in a strong partnership so we don’t want to exclude them all the time just because they have a limited social life. This example PDF icon SVG icon includes the monogamous partnerships. It also introduces a second attendance indicator. Dashed players and partnerships have not been active in the 12 months prior to the most recent game file examined.

Things get more interesting PDF icon SVG icon and competitive when average partnership percentages are added. A partnership that averages 55% is comfortably in the top 10% of partnerships. Two long standing partnerships are over 58%: Debbie and Alan Gailfus (58.5%) and David Walters and David Oakley (58.1%). However, Tom Tatham and Patrick Mahoney have had a five game run at 61.0%. Partnerships who have played fewer than five times are not considered for top 10% status on the social networks because they have not proven consistency. Top 10% player status is based on the weighted average of a player’s regular partnerships.

The tables below provides results for several games broken out by year and for the full time span. Both the simplified socially oriented graph and the more detailed competitive graph are included, with (+mono) and without (-mono) monogamous pairs. The minimum number of sessions is also varied. Examining a graph with a lower session number cutoff reveals more detail at the cost of obscuring the big picture.

The PDF PDF icon format should work for everyone. But if you are using Firefox, Google Chrome, Safari or the latest version of Internet Explorer (IE9) try the Scalable Vector Graphics (SVG) SVG icon format. SVG is a latecomer but when supported it will display faster because SVG is directly rendered by the web browser rather than handled by a plug-in.

Detailed Results


Pair data is parsed directly from the ACBLscore files. This format is not documented but examination of files with a hex editor allowed key parts to be reverse engineered. It would be possible to work with the text or HTML based reports instead but this can be inconvenient since there are multiple reporting formats and there is no way to automate the generation of reports from game files using ACBLscore. Moreover, game files contain the ACBL player number, a good key which is no longer printed on the text and HTML reports. Because the software uses the player number as a key, non-ACBL members are excluded from the analysis. Team games were also ignored.

The graph layout was originally performed with the Graph-Easy perl package but it proved inadequate for the number of nodes involved because it produced poor layouts with many edges wrapped around the exterior of a graph, failed to include all nodes and edges, and took a long time to run. Using Graph-Easy to produce the Graphviz input format was much more successful. The default Graphviz dot layout mode produced the best looking graphs.

Download (22 MB) all the graphs in one ZIP archive. In addition to the PDF and SVG output formats, the archive contains the Graphviz files (.gvz) used to generate the PDF and SVG output.