SNoMaN takes in your data and allows you to browse a sociogram and linked map. It also 1) computes traditional network metrics, 2) provides histograms of edge distances and node degrees, and 3) provides an interoperable scatterplot.

There are some new metrics like **K-fullfillment**^{1 }(measuring local connection/disconnection), **Local Flattening Ratio**^{2}** **(measuring local connection/disconnection)**, Global Flattening Ratio**^{3}** **(measuring the spatial tightness)**,** and mapping **modules via modularity detection**.

Check out these two lab activities to help new users learn SNoMaN! The first Lab focuses on basic interactions and visualization configurations and the second Lab focuses more on advanced algorithms and metrics supported for spatial social network analysis. At the end of Lab 2 you will find a table listing spatial social network analysis terminologies used in this tool.

Instructors: let us know if you’d like assistance using these in class – our team is here to help.

For a detailed tutorial of how to use this tool, we encourage you to view the following **demo video**:

This project is led by PhD student Sichen Jin. Please get in touch if you’re using the software and would like some support.

More: The software supports running community detection, mapping network modules, and outlining community spatial boundaries with convex hulls on a map. The software provides an interactive route factor diagram, facilitating comparisons between network distances (i.e., shortest path) and Euclidean distances between nodes. This plot aids in identifying disconnected neighbors and connected distant nodes. Users can use interactive scatterplots to find correlations between network centralities (indicating network “power”) and geographic characteristics such as geographic distance, centrality, or dispersion. SNoMaN allows users to compute and compare network density and spatial dispersion (measured by standard distance) for different groups. Users can export these metrics as CSV files and download generated scatterplots.

The software’s visual and computational components are linked and interactive, which allows users to selectively compute network metrics for specific subnetworks and locate individual cases of interest. It comes with preloaded example spatial social networks, including a food sharing network, a Mafia criminal association network, and a US flight network, for users to explore and analyze.

SNoMaN is implemented with D3.js, NetworkX, React.js, Leaflet.

Notes:

^{1}K-Fulfillment** **is a node-level metric to describe local (dis)connection. It is defined as the percentage of a node’s K-nearest neighbors (in Euclidean space) that it is connected (i.e., connected K-nearest neighbors divided by total K-nearest neighbors). Here, K is equal to the node’s degree. Nodes that are exclusively connected to their nearest neighbors will have a K-fulfillment value of 1. K-fulfillment assumes that the target SSN is an unweighted, undirected network.

^{2}Local Flattening Ratio is defined as the ratio of a node’s minimized distance (*d_opt*) needed to connect to any k nearest neighbors to the total actual distance (*d_act*) of its connections. Nodes with low values prioritize distant connections. This metric is similar to K-fullfillment, as both describe local (dis)connection.

^{3}Global Flattening Ratio is a network-level metric to measure the spatial tightness of a network. We reference the following definition in the paper Metrics for characterizing network structure and node importance in Spatial Social Network (Sarkar et al., 2019). To define the flattening ratio, we first create a degree-constrained nearest neighbour network G’ from the given social network *G* by reconfiguration, such that each node *i* in G’ with degree *K* connects to its nearest *K* neighbors in Euclidean space. As such, the (global) flattening ratio is the ratio of the sum of the Euclidean distance of edges in G’ where all nodes are connected to their K-nearest neighbors versus the sum of the Euclidean distance of actual edges in *G*. As many G’ can be possible for one *G*, we iterate several times to calculate the average sum distance of many G’.