SNA PhD 2025: Brokers and Bridges

Author

Prof Brandy Aven

Published

November 15, 2025

Brokers and Bridges in Social Network Analysis

This lab explores brokerage roles and bridge positions in social networks using both statnet and igraph packages in R. We’ll analyze communication patterns among employees during a labor dispute to identify key brokers and structural bridges.

Brokerage as Positions and Roles

In this tutorial we focus on brokers and bridges in a strike network: people who sit on critical paths, connect otherwise separated groups, or span structural holes. In the language of positions and roles, these actors occupy distinctive structural positions in the network, and those positions define characteristic roles in the flow of information, support, and influence.

Positions are sets of actors who relate to others in similar ways (structural equivalence). Role analyses and blockmodels are built on top of those positions. Here we take a complementary approach: rather than clustering everyone into positions. First, we start from concrete brokerage patterns (cutpoints, Gould–Fernandez brokerage, and Burt’s constraint) and ask:

  • Which actors sit in structurally powerful positions?
  • What role do they play in connecting groups (coordinator, liaison, gatekeeper, etc.)?
  • How do these roles shape the strike dynamics?

These questions allow us to connect individual-level brokerage measures to broader position and role structures in the network.

Case Study: Wood-Processing Facility Strike

The data comes from a wood-processing facility where workers rejected a new compensation package and eventually went on strike. Management hired a consultant to analyze employee communication structures, believing information wasn’t being effectively disseminated by union negotiators.

Employees indicated communication frequency on a 5-point scale, with ties defined as frequency ≥3 (at least one employee reporting discussions “several times per week” or more).

Data Setup

Code
# Clear workspace and set working directory
rm(list=ls())

# Read the strike network data
strike.net <- as.network(read.paj("Strike.net"), directed=FALSE)

# Set coordinates for consistent plotting
coords <- gplot(strike.net, gmode="graph", 
                label=network.vertex.names(strike.net), 
                vertex.col="Sky Blue", label.col="black", 
                label.cex=0.6, label.pos=5, mode="kamadakawai")

Identifying Cutpoints (Articulation Points)

Cutpoints are nodes whose removal would disconnect the network. These represent critical bridge positions.

Code
# Identify cutpoints
strike.cut <- cutpoints(strike.net, mode="graph", return.indicator=TRUE)

# Plot with cutpoints highlighted
gplot(strike.net, gmode="graph", 
      label=network.vertex.names(strike.net), coord=coords,
      label.col="black", label.cex=0.6, 
      vertex.col=strike.cut+2, label.pos=5) 

Betweenness Centrality and Cutpoints

Betweenness centrality measures how often a node lies on shortest paths between other nodes. There’s typically correlation between high betweenness and cutpoint status.

Code
# Calculate betweenness centrality
strike.bet <- betweenness(strike.net)

# Plot with node size proportional to betweenness
gplot(strike.net, gmode="graph", 
      label=network.vertex.names(strike.net), coord=coords,
      label.col="black", label.cex=0.6, 
      vertex.col=strike.cut+5, label.pos=5,
      vertex.cex=(strike.bet/75+.5))

Bicomponent Analysis

Bicomponents are maximal connected subgraphs that remain connected after removing any single node.

Code
# Identify bicomponents (size ≥ 3)
strike.bc <- bicomponent.dist(strike.net)

# Display bicomponent sizes
strike.bc$csize
 1  2  3  4 
10  8  4  3 
Code
# Plot with bicomponent membership
gplot(strike.net, gmode="graph", 
      label=network.vertex.names(strike.net), coord=coords,
      label.col="black", label.cex=0.6, 
      vertex.col=strike.bc$membership+2, label.pos=5)

Gould and Fernandez Brokerage Analysis

The Gould and Fernandez algorithm identifies five brokerage roles based on group membership:

  • Coordinator (w_I): Broker within same group

  • Itinerant (w_O): Broker outside all groups

  • Representative (b_I0): Broker from group to outside

  • Gatekeeper (b_OI): Broker from outside to group

  • Liaison (b_O): Broker between different groups

In practice, these five brokerage roles correspond to different role types in the larger block/role framework:

  • Coordinator (w_I): an actor who intermediates within their own group. They play an internal organizer role, keeping their group cohesive and coordinated.
  • Itinerant (w_O): an actor who brokers ties entirely outside all defined groups. They act as a free-floating specialist or consultant who operates in a liminal space, not rooted in any group.
  • Representative (b_I0): someone who carries information/resources from their group to outsiders. Think spokesperson or ambassador.
  • Gatekeeper (b_OI): someone who controls access into their group. They screen outsiders and decide what comes in.
  • Liaison (b_O): a pure between-group broker, connecting members of different groups. They most closely embody the “structural hole” role Burt emphasizes.

We can read these as roles embedded in positions: a given actor’s position is defined by their pattern of ties, and the Gould–Fernandez counts tell us what kind of brokerage role that position enacts when groups interact.

Code
# Read group membership data
strike.mat <- as.matrix(read.csv("Strikegroups.csv", header=TRUE, 
                                 row.names=1, check.names=FALSE))

# Calculate brokerage scores
strike.gf <- brokerage(strike.net, strike.mat)

# Display raw brokerage scores
strike.gf$raw.nli
          w_I w_O b_IO b_OI b_O  t
Xavier      0   0    0    0   0  0
Utrecht     8   0    0    0   0  8
Frank       0   0    0    0   0  0
Domingo     0   0    0    0   0  0
Norm       18   0    5    5   0 28
Hal         2   0    0    0   0  2
Russ        4   0    0    0   0  4
Karl        0   0    2    2   0  4
Bob        14   0   10   10   2 36
Quint       4   0    0    0   0  4
Wendle      0   0    0    0   0  0
Ozzie       0   0    1    1   0  2
Ike         4   0    0    0   0  4
Ted         2   0    0    0   0  2
Sam         8   0    0    0   0  8
Vern        2   0    0    0   0  2
Gill       10   0    0    0   0 10
Lanny       2   0    0    0   0  2
Mike        0   0    0    0   0  0
Carlos      0   0    0    0   0  0
Alejandro   0   0    3    3   0  6
Paul        2   0    0    0   0  2
Eduardo     0   0    0    0   0  0
John       12   0    0    0   0 12
Code
# Calculate total brokerage (adjusting for undirected network)
strike.gft <- strike.gf$raw.nli[,6] - strike.gf$raw.nli[,4]

# Visualize brokerage scores
gplot(strike.net, gmode="graph", 
      label=network.vertex.names(strike.net), coord=coords,
      label.col="black", label.cex=.6, 
      vertex.col=strike.mat[,1], label.pos=5,
      vertex.cex=strike.gft/5)

For the strike network, we can interpret the largest brokerage scores as follows: * Actors with many liaison ties are likely spanning different shop-floor factions or departments, negotiating across interests. * Actors with high gatekeeper scores sit at the boundary between management and workers or between union leadership and rank-and-file, controlling what information flows inward. * Actors with high coordinator scores may be informal leaders within a crew or shift, organizing local action.

From Brokerage Scores to Positions

The first step in a role analysis is to compute pairwise distances between rows of the adjacency matrix (or matrices), then cluster actors into positions based on structural equivalence. Actors who have ties to the same alters (even if they are not tied to one another) are treated as occupying the same position.

In this brokerage tutorial, we implicitly see positions emerging at two levels: 1. Bicomponents and cutpoints: The bicomponent analysis shows groups of nodes that are internally robust but connected through a small number of critical cutpoints. These bicomponents behave like coarse-grained positions in the network. 2. Brokerage role profiles: Each actor has a vector of brokerage counts (coordinator, itinerant, representative, gatekeeper, liaison). Actors with similar brokerage profiles are effectively playing similar roles, even if they are in different parts of the graph.

Conceptually, we could move from here to a full blockmodel, as in ch10: aggregate nodes into positions based on their brokerage profiles or structural equivalence, then examine the pattern of ties between those positions. That would let us ask questions like: * Which positions are “exporters” of influence or information? * Which positions are “importers” or sinks? * Which positions have high internal coordination but low external brokerage?

Even without building the full blockmodel in code, thinking in terms of positions helps interpret brokerage metrics as part of a larger role structure rather than as stand-alone scores.

igraph Analysis

Now let’s replicate and extend the analysis using igraph.

Code
# Convert to igraph object
strike.ig <- asIgraph(strike.net)
V(strike.ig)$label = V(strike.ig)$vertex.names

# Initial plot
plot(strike.ig, layout=coords, vertex.label.cex=.6, 
     vertex.label.color="black", edge.arrow.mode=0, 
     vertex.color="light blue")

Bicomponents and Articulation Points in igraph

Code
# Identify bicomponents and articulation points
strike.bicomp <- biconnected_components(strike.ig)

# Display articulation points (cutpoints)
strike.bicomp$articulation_points
+ 5/24 vertices, from 4f72d7e:
[1] 17 21  9  5 15
Code
# Display bicomponent memberships
strike.bicomp$components
[[1]]
+ 2/24 vertices, from 4f72d7e:
[1] 17  3

[[2]]
+ 4/24 vertices, from 4f72d7e:
[1] 20 23  4 21

[[3]]
+ 2/24 vertices, from 4f72d7e:
[1]  9 21

[[4]]
+ 10/24 vertices, from 4f72d7e:
 [1]  8 18 12 24 17 13 19  6  9  5

[[5]]
+ 8/24 vertices, from 4f72d7e:
[1] 10 22  7 14 16  5  2 15

[[6]]
+ 3/24 vertices, from 4f72d7e:
[1] 11 15  1
Code
# Plot with cutpoints highlighted
plot(strike.ig, layout=coords, vertex.label.cex=.6,
     vertex.label.color="black", edge.arrow.mode=0,
     vertex.color=(strike.cut+2))

Burt’s Constraint and Autonomy

Burt’s constraint measures the extent to which a node’s contacts are connected to each other. Low constraint indicates brokerage opportunities.

Local equivalence clusters actors based on how they interact in their immediate neighborhood: which triad patterns they participate in, how often they close triangles, and so on. Actors can be locally equivalent even if they interact with different alters, as long as they have similar interaction signatures.

Burt’s constraint is closely related to this local perspective. High-constraint actors mostly sit in closed, redundant triads; low-constraint actors sit in open triads and chains that span otherwise disconnected alters. In other words: * Actors with high constraint look like local “cluster” members in the local equivalence framework. * Actors with low constraint / high autonomy look like local brokers whose triadic signatures emphasize open structures and cross-cutting ties.

Code
# Calculate Burt's constraint
strike.con <- constraint(strike.ig)
strike.aut <- 1 - strike.con  # Autonomy (inverse of constraint)

# Plot with node size proportional to autonomy
plot(strike.ig, layout=coords, vertex.label.cex=.6,
     vertex.label.color="black", edge.arrow.mode=0,
     vertex.color=strike.cut+2, vertex.size=strike.aut*30)

Edge Betweenness

Edge betweenness identifies bridges - edges that lie on many shortest paths.

Code
# Calculate edge betweenness
strike.edge <- edge_betweenness(strike.ig, directed=FALSE, weights=NULL)

# Plot with edge width proportional to betweenness
plot(strike.ig, layout=coords, vertex.label.cex=.6,
     vertex.label.color="black", edge.arrow.mode=0,
     vertex.color=strike.cut+2, vertex.size=strike.aut*30,
     edge.width=strike.edge/10+.5)

Theoretical Framework: Burt’s Structural Holes

Network Constraint

Ron Burt’s concept of network constraint measures the extent to which an individual’s network ties are redundant. High constraint occurs when your contacts are all connected to each other, limiting access to diverse information.

Key implications of high constraint:

  • Redundant information flows

  • Limited novel opportunities

  • Reduced autonomy and brokerage potential

Brokerage Advantages

Brokerage occurs when individuals bridge structural holes - gaps between disconnected groups. Brokers enjoy:

  • Information benefits: Access to diverse, non-redundant information

  • Control benefits: Influence over information flow between groups

  • Innovation advantages: Ability to synthesize ideas from different domains

Practical Applications

In organizational contexts, identifying brokers and bridges helps:

  • Improve information dissemination

  • Enhance innovation through cross-group connections

  • Identify critical employees in change management

  • Optimize organizational restructuring

Conclusion

This lab demonstrated multiple approaches to identifying brokers and bridges in social networks:

  1. Cutpoint analysis identifies critical nodes whose removal disconnects the network

  2. Betweenness centrality reveals nodes controlling information flow

  3. Bicomponent analysis identifies robust subnetworks

  4. Gould-Fernandez brokerage categorizes specific brokerage roles

  5. Burt’s constraint quantifies brokerage potential

  6. Edge betweenness identifies critical connections

These measures provide complementary perspectives on network structure and the strategic positions individuals occupy within social systems. It demonstrates how to build positions and roles by clustering actors based on equivalence and then constructing blockmodels. The brokerage tools here can be viewed as diagnostics that highlight which positions are likely to matter most for coordination, information flow, and power in the network.

References

  • Burt, R.S. (1992). Structural Holes: The Social Structure of Competition. Harvard University Press.

  • Burt, R.S. (2004). Brokerage and Closure: An Introduction to Social Capital. Oxford University Press.

  • Gould, R.V., & Fernandez, R.M. (1989). Structures of Mediation: A Formal Approach to Brokerage in Transaction Networks. Sociological Methodology, 19, 89-126.

  • Newman, M. (2010). Networks: An Introduction. Oxford University Press.