Emergency Hotline: Call 1-844-363-1423 (United We Dream Hotline)
ICE Encounter

Tool Selection Considerations

The right tool depends on:

Factor Consideration
Data scale Hundreds vs millions of nodes
Technical capacity Staff programming skills
Analysis needs Basic metrics vs advanced algorithms
Visualization goals Internal analysis vs public presentation
Integration needs Connection to existing CRM

Software Comparison

NetworkX (Python)

Best for: Large datasets, computational analysis, scripted workflows

Strength Limitation
Handles massive datasets Requires Python programming
All standard algorithms No built-in visualization
Highly scriptable Steeper learning curve
Free and open source No GUI
Extensive documentation

Installation:

pip install networkx

Basic Usage:

import networkx as nx

# Create network
G = nx.Graph()

# Add nodes (organizations)
G.add_node("ACLU", type="legal")
G.add_node("MutualAid", type="grassroots")
G.add_node("FaithGroup", type="faith")

# Add edges (relationships)
G.add_edge("ACLU", "MutualAid", weight=3)
G.add_edge("MutualAid", "FaithGroup", weight=5)

# Calculate centrality
betweenness = nx.betweenness_centrality(G)
print(betweenness)

# Export for visualization
nx.write_gexf(G, "coalition_network.gexf")

Gephi

Best for: Interactive visualization, exploration, non-programmers

Strength Limitation
Excellent visualization Limited to desktop
Interactive exploration Slow with very large networks
Calculates metrics via GUI No scripting/automation
Free and open source Import/export workflow required
Layout algorithms

Workflow:

  1. Prepare data in CSV or import from NetworkX (.gexf)
  2. Import nodes and edges
  3. Calculate statistics (built-in panels)
  4. Apply layout algorithm
  5. Style nodes and edges
  6. Export visualization

Data Format (CSV):

Nodes file:

Id,Label,Type
1,ACLU,legal
2,MutualAid,grassroots
3,FaithGroup,faith

Edges file:

Source,Target,Weight
1,2,3
2,3,5

igraph

Best for: Statistical analysis, community detection, research pipelines

Strength Limitation
Very fast computation Requires R or Python
Advanced algorithms Less intuitive than Gephi
Statistical integration Visualization more limited
Available in R, Python, C
Community detection

Python Usage:

import igraph as ig

# Create network
g = ig.Graph()
g.add_vertices(["ACLU", "MutualAid", "FaithGroup"])
g.add_edges([("ACLU", "MutualAid"), ("MutualAid", "FaithGroup")])

# Community detection
communities = g.community_multilevel()
print(communities)

# Calculate metrics
betweenness = g.betweenness()
print(betweenness)

Kumu

Best for: Collaborative mapping, stakeholder engagement, presentations

Strength Limitation
Web-based, no install Limited free tier
Collaborative editing Less analytical depth
Beautiful visualizations Export limitations
Stakeholder presentations Proprietary
Easy learning curve

Best Use: Presenting network insights to non-technical stakeholders


Tool Comparison Matrix

Feature NetworkX Gephi igraph Kumu
Learning curve High Medium High Low
Max network size Millions ~100K Millions ~10K
Visualization Via export Excellent Basic Excellent
Scripting Yes No Yes No
Collaboration Via code File sharing Via code Built-in
Cost Free Free Free Freemium
Community detection Good Good Excellent Basic

Data Collection Tools

Survey Platforms

Platform Network Features Cost
Google Forms Basic roster surveys Free
Qualtrics Advanced skip logic $$
SurveyMonkey Moderate features Free-$$
Typeform User-friendly Free-$$
Airtable Database + forms Free-$$

Roster Survey Template (Google Forms)

COALITION NETWORK SURVEY

Your Organization: [Dropdown of coalition members]

For each organization below, please indicate your relationship:

[Organization A]
□ We exchange policy information
□ We collaborate on programs
□ We share funding opportunities
□ We meet at least monthly
□ We refer clients to each other
□ No direct relationship

Relationship strength: [1-5 scale]

[Repeat for each organization]

Social Media Data Collection

Source API Access Data Available
Twitter/X Researcher API Followers, mentions, retweets
Facebook Limited (CrowdTangle) Page interactions, group membership
LinkedIn Very limited Connection data restricted

Ethical note: Social media scraping raises significant privacy concerns. See ethics guide.


CRM Integration

Action Network

Network capability: Action Builder for relationship tracking

Action Network → API → NetworkX → Analysis
                  ↓
              Gephi → Visualization

Integration approach:

  1. Use Action Builder to track relationships between activists
  2. Export via API or SQL mirror
  3. Process in NetworkX for centrality calculations
  4. Visualize in Gephi or Kumu

Salesforce

Network capability: Custom relational objects

Object Purpose
Contact Individual nodes
Account Organization nodes
Custom Relationship Edge tracking
Tags Node attributes

Airtable

Network capability: Linked records as relationships

Table Purpose
Organizations Node data
Relationships Edge data (linked records)
Contacts Individual nodes
Projects Joint activities

Visualization Best Practices

Avoiding "Hairball" Networks

Problem Solution
Too many nodes Filter to significant actors
Too many edges Show only strong ties
Cluttered layout Use force-directed algorithms
No meaning visible Encode data visually

Visual Encoding

Element Encode Using Example
Node size Centrality measure Larger = more connected
Node color Category Legal = blue, grassroots = green
Edge thickness Relationship strength Thicker = stronger tie
Edge color Relationship type Funding = gold, info = gray
Position Network structure Clusters grouped together

Layout Algorithms

Algorithm Best For In Gephi
ForceAtlas2 General networks Yes
Fruchterman-Reingold Small networks Yes
Circular Showing all connections Yes
Geographic Location-based networks Manual

Presentation Tips

Audience Approach
Coalition board Simplified, key metrics highlighted, clear legend
Community members Geographic overlay, plain language labels
Funders Impact metrics, reach visualization
Internal strategists Full complexity, interactive dashboard

Interactive Dashboards

Options

Platform Features Cost
Kumu Web-based, collaborative Free-$$
Observable Code-based, D3.js Free
Tableau Business intelligence $$$
Power BI Microsoft ecosystem $$
Custom (D3.js) Maximum flexibility Dev time

Dashboard Elements

Element Purpose
Network map Visual overview
Metric table Key statistics
Node search Find specific actors
Filters Subset by type/region
Time slider Show change over time

Data Management

Secure Storage

Requirement Implementation
Encryption at rest Encrypted database/files
Access control Role-based permissions
Audit logging Track who accessed what
Backup Regular, encrypted backups
Retention limits Delete when no longer needed

Data Formats

Format Use Case Tool Support
CSV Simple import/export All
GEXF Gephi native format Gephi, NetworkX
GraphML Standard interchange Most tools
JSON Web applications Custom
Pajek Legacy format Specialized

Version Control

Track network data changes:

networks/
├── 2026-01-coalition.gexf
├── 2026-04-coalition.gexf
├── 2026-07-coalition.gexf
└── changelog.md

Learning Resources

NetworkX

Resource Type
Official documentation Reference
Network Analysis Made Simple Tutorial
Python for Social Scientists Book

Gephi

Resource Type
Gephi Quick Start Tutorial
Martin Grandjean tutorials Video
Official wiki Reference

igraph

Resource Type
Official documentation Reference
Statistical Analysis of Network Data Book
R-bloggers tutorials Blog

General SNA

Resource Type
Social Network Analysis (Wasserman & Faust) Textbook
Networks, Crowds, and Markets Free online book
Coursera SNA courses Online course

Implementation Workflow

Minimum Viable Setup

  1. Collect data via Google Forms roster survey
  2. Process in Google Sheets (edge list format)
  3. Import to Gephi
  4. Calculate basic centrality metrics
  5. Visualize with ForceAtlas2 layout
  6. Export PNG for presentation

Advanced Setup

  1. Collect data via Action Network + API
  2. Store in secure database
  3. Process with NetworkX scripts
  4. Analyze with igraph for community detection
  5. Visualize in Gephi (interactive) + Kumu (presentation)
  6. Dashboard with Observable or custom D3

Tool Checklist

For Getting Started

  • [ ] Define network scope (what nodes and edges?)
  • [ ] Select survey tool for data collection
  • [ ] Choose analysis tool based on team skills
  • [ ] Set up secure data storage
  • [ ] Plan visualization approach
  • [ ] Identify learning resources needed

For Ongoing Analysis

  • [ ] Establish data collection schedule
  • [ ] Create analysis scripts (if using code)
  • [ ] Document workflow for reproducibility
  • [ ] Train additional staff on tools
  • [ ] Plan for data updates

Next Steps

  1. Review ethical considerations before collecting data
  2. Follow implementation guide for getting started
  3. Plan interventions based on analysis
Legal Disclaimer

This website does not provide legal advice. The information provided on this site is for general informational and educational purposes only. It does not create an attorney-client relationship.

Information on this website may not be current or accurate. Immigration law is complex and varies by jurisdiction and individual circumstances. Always consult with a qualified immigration attorney for advice specific to your situation.

Neither ICE Encounter, its developers, partners, nor any contributors shall be liable for any actions taken or not taken based on information from this site. Use of this site is subject to our Terms of Use and Privacy Policy.