Tutorial 11: Brokerage & Structural Holes

A node that connects parts of the network that would otherwise be disconnected holds an advantageous position: it controls the flow between them, hears things first and can combine information from different sources. Network analysis has several ways of making this precise. This tutorial uses four of them, on the Florentine marriage network (flomarriage, 16 families) and on Sampson’s monks (sampson, 18 monks in three factions). The script is example.do, the complete output example.log.

Tutorial 8 already introduced betweenness, the number of shortest paths that run through a node. The measures below are related but ask more specific questions.

Structural holes: Burt’s measures

A structural hole is a missing tie between two of a node’s contacts. If all of your friends know each other, you add little by being their friend; if they do not, you are the only link between them. nwburt computes Burt’s (1992) measures for every node and stores them as variables:

. nwwebuse florentine, nwclear

. nwburt flomarriage
----------------------------------------
  Network name: flomarriage
----------------------------------------
    Burt structural hole measures

    Variable |        Obs        Mean    Std. dev.       Min        Max
-------------+---------------------------------------------------------
    _effsize |         16    2.166667    1.355373          0   5.666667
 _efficiency |         16    .8350694    .2614593          0          1
 _constraint |         16    .5494792    .3071544          0          1
  _hierarchy |         15    .2800012      .44961          0          1
  • Effective size (_effsize) is the number of contacts minus the redundancy among them. A node with five contacts who all know each other has an effective size close to 1; one whose contacts are strangers has 5.
  • Efficiency (_efficiency) is effective size per contact.
  • Constraint (_constraint) is high when contacts are tied to each other or when the node invests much of its network in one contact. Low constraint means many structural holes.
  • Hierarchy (_hierarchy) is how concentrated the constraint is on a single contact (it is missing for the isolate).

Put them next to degree, betweenness and clustering for the better connected families:

. list _nwnode deg btw clu _effsize _constraint if deg>=3, noobs

  +--------------------------------------------------------------+
  |    _nwnode   deg        btw        clu   _effsize   _const~t |
  |--------------------------------------------------------------|
  |    albizzi     3   19.33333          0          3   .3333333 |
  |   bischeri     3        9.5   .3333333   2.333333   .4822531 |
  | castellani     3          5   .3333333   2.333333   .4822531 |
  |   guadagni     4   23.16667          0          4        .25 |
  |     medici     6       47.5   .0666667   5.666667   .2098765 |
  |--------------------------------------------------------------|
  |    peruzzi     3          2   .6666667   1.666667   .6558642 |
  |    ridolfi     3   10.33333   .3333333   2.333333   .4598765 |
  |    strozzi     4   9.333333   .3333333          3   .4583333 |
  | tornabuoni     3   8.333333   .3333333   2.333333   .4598765 |
  +--------------------------------------------------------------+

(deg, btw and clu were made with nwdegree, nwbetween and nwclustering, all with generate().) The Medici stand out: six contacts, an effective size of 5.7 (almost every contact is a separate source), the lowest constraint (.21) and by far the highest betweenness (47.5), the textbook structural-hole position. The Peruzzi have three contacts, but two of the three pairs of their contacts are tied (clustering .67), so their effective size is 1.7 and their constraint is the highest in the table. Same degree as the Albizzi, very different brokerage opportunity.

nwconstraint returns the pairwise constraint contributions as a network (nwconstraint flomarriage, name(floconstraint)), for those who need to see which contact constrains whom.

Bridges

A bridge is a tie whose removal would disconnect its two ends: the only path between two parts of the network. nwbridges saves the bridges as a new network:

. nwbridges flomarriage, name(flobridges)

------------------------------
    Network      : flomarriage
    Directed     : false
    Bridges      : 5
    Type         : global
------------------------------

Five of the 20 marriage ties are bridges. With type(local) you get local bridges, ties whose removal would push the two ends more than two steps apart, a weaker and more common notion.

Brokerage roles: Gould and Fernandez

When nodes belong to groups, the brokerage question becomes: whose contacts does the broker connect? For every two-path a → b → c where a cannot reach c directly, Gould and Fernandez (1989) name the role of b by comparing the groups of a, b and c. nwbrokerage counts these roles for every node, using a numeric group variable (here the monks’ faction, encoded as a number):

. nwwebuse sampson, nwclear

. encode faction, generate(fnum)

. nwbrokerage samplike, group(fnum) generate(brk)
(note: tie values are ignored; this measure is binary)
----------------------------------------
  Network name: samplike
  Two-paths classified: 224
             Role  |    Total
-------------------+---------------
      coordinator  |    56
       gatekeeper  |    80
   representative  |    69
       consultant  |    5
          liaison  |    14
Role Groups of a, b and c
coordinator all three in the same group
gatekeeper a in another group; b and c in the same group
representative a and b in the same group; c in another group
consultant a and c in the same group; b in another group
liaison all three in different groups

Gatekeepers (80) and representatives (69) dominate here: most mediation crosses a faction boundary, either from outside into the broker’s own faction (gatekeeper) or from the broker’s faction to the outside (representative). Consultants are rare (5), because they need two ends in a group the broker does not belong to. The counts for each monk are in the variables brk_coordinator, brk_gatekeeper, brk_representative, brk_consultant and brk_liaison:

. gsort -brk_gatekeeper

. list _nwnode faction brk_gatekeeper brk_representative brk_liaison in 1/5, noobs

  +--------------------------------------------------------+
  |     _nwnode   faction   brk_ga~r   brk_re~e   brk_li~n |
  |--------------------------------------------------------|
  |     Gregory     Turks         16          0          0 |
  |  John Bosco     Turks         12         16          7 |
  | Bonaventure     Loyal          9          8          3 |
  |      Albert     Turks          9          0          0 |
  |      Victor     Loyal          8          6          0 |
  +--------------------------------------------------------+

John Bosco is the one monk who brokers in all roles, including seven liaison positions between three factions.

Simmelian ties

A tie is Simmelian if it is reciprocated and the two nodes share at least one reciprocated third contact (Krackhardt 1998): the tie is embedded in a closed triad of mutual ties. Such ties are more stable and carry more trust than a tie that stands alone. nwsimmelian returns the Simmelian ties as a new network:

. nwsimmelian samplike, name(strongdir)
(note: tie values are ignored; this measure is binary)

. nwsummarize strongdir
--------------------------------------------------
   Network name:  strongdir
   Network id:  7
   Directed: true
   Valued: true
   Two-mode: false
   Nodes: 18
   Selfloop: false
   Arcs: 32
   Minimum value:  0
   Maximum value:  1
   Density:  .105

The monks’ “likes” network has 88 arcs, of which 32 are in mutual triads. Tutorial 12 comes back to triads.

Which command when?

Question Command
Who spans many structural holes (low constraint, large effective size)? nwburt, nwconstraint
Which ties are the only connection between two parts? nwbridges
Whose contacts does a node connect, given groups? nwbrokerage
Which ties are embedded in mutual triads (strong, stable)? nwsimmelian
How many shortest paths run through a node? nwbetween (Tutorial 8)

Back to top

nwcommands is free software under the GNU General Public License, version 3, as are the model packages nwsaom, nwergm, nwdynam and nwrem. Citing and licenses · Get help · GitHub. Issues with the core go to the nwcommands repository; issues with a model package go to that package's own repository.

This site uses Just the Docs, a documentation theme for Jekyll.