You may have heard of network diagrams as a way to map IT networks. But did you know they also have applications in mapping human relationships and contributions to projects? More than just org charts, these diagrams can help you:
- Identify siloed departments.
- Uncover just who are your “go-to” people are.
- Single out the people who may need some attention so they can maximize their potential.
- Understand who is contributing to a particular goal or project – and who isn't.
This talk describes a new JMP add-in for creating network diagrams for Human Resources applications. It also includes a description of various ways to collect, input, and format data, as well as a discussion of various scenarios.

Hi, everybody. Welcome to our presentation today on a new network add-in for JMP that involves people networks via these network diagrams. My name is Jerry Fish. I work for JMP. I support our customers in the upper central US, Michigan, Wisconsin, Illinois, and Indiana. I'm joined today by my colleague, Scott Allen.
I'm Scott Allen. I'm a systems engineer as well, and I support the Ohio Valley Territory in the US.
This project started, I guess you could say it started maybe 4 years ago or so. I took a class through Wharton Business School on HR, human resources analytics. One of the pieces of that class had to do with network diagrams, and that got me interested. That culminated in me submitting an abstract for this year's Discovery Summit on network diagrams.
While I had no more than submitted the abstract and received notice from it that I'd been accepted, then I found out that Scott had already been working on this completely independently. It really worked out well. I'll give credit to Scott. He's done at least 95% of the work, probably more of the heavy lifting on this, of the coding and creating the software. Thank you, Scott. I'm so glad that we got hooked together on this. It really worked out well.
Today, we're going to talk about an application of a network diagram in a business organization. We've got a fictional company that I'll talk about in a minute, and we'll show how that maps out. I'll go through several things there, and then I'll turn it over to Scott to talk about how the software works, how he developed it, and some of the bells and whistles that are in there that I won't be covering in my part of the talk.
Then we'll come back and talk about other network diagram applications. This is not just for HR. This can be used in a number of different places. Then finally, we will wrap up with where you can find and download this add-in.
Let's start with our fictional company, ACME Medical Products. I asked Microsoft Copilot to create a company with these various departments in it and so many employees, and give me random names. From that, actually, I used PowerPoint to create this org chart over here. Everybody's, I'm sure, seen an org chart. It's hierarchical in nature. It just shows the command structure of who reports to whom and the way your business is laid out.
One thing I want to mention after we've got the CEO up here and then his direct reports and their direct reports and so forth, almost all of these boxes are single individuals. But sometimes in an org chart, you'll see something like this. This box right here, if I zoom in on it, this is actually three people. There's nothing wrong with this necessarily, but just the visual aspect of an org chart can be a little bit misleading if you're just looking for how many people report to a certain individual. Just something to watch out for. See if we can get back now. There we go.
Let's ask ourselves a question. What would happen if we could lay this chart out differently? What if we could see, rather than just the hierarchy of who reports to whom, what if we could see connectedness within this new plot? That's what we've been working on, this network diagram.
This is an example of a network diagram. All I've done at this point is take the hierarchical data from the org chart and transpose that over to a network diagram from our new add-in. Just to explain a little bit here, they're very simple connections. This dot right here in the middle, the red dot, is our CEO. His name in this scenario is Darren Whitmore. He's located right here in the center of the organization, and all of these lines that go out are his direct reports. Then from those dots, that's another person, and this person has four direct reports and so forth. It's exactly the same information that we saw in the hierarchical org chart, just laid out a little bit differently.
The clusters generally talk about or infer departments. We can change things, and you'll see a lot of this coming up, like the size of the dots, the color of the dots, they can have meaning. The size or thickness and color of the… We call these edges, can also have meaning. We'll see that in a little bit. Also, when Scott shows his demo of the actual add-in, you'll be able to hover over points and get the normal, like this, information out of that particular dot, much like a normal JMP graph would be. This is just a PowerPoint slide at this point.
Some definitions. The circles in a plot like this are called nodes. We're going to talk about them as nodes quite a bit. In the case of HR, human resources, you can translate that over to people. Each dot refers to a person, an individual. The node color, as I mentioned, can change. It can be, in this case, it's departments. I've changed things around, so each department is color-coded now. The edges or the lines, these represent the connections between people. At this point, we're still just with the org chart connections, just the hierarchy.
Now, there's a couple of terms that you're going to see as we go along. One of them is called degrees. It's a fairly simple term. If we look at this person right here, this person, the value of their node has 4 degrees. That simply means that there are four lines connecting from this node to other nodes. That's what we mean if you see something about degrees.
Betweenness is something a little different. Betweenness has to do with, how do I get from one node to another? Think of this as… Here, we've got Andre Lewis, and we've got Olivia Grant, and they're on opposite sides of this big network diagram. If Andre wanted to communicate with Olivia, think of him as passing a note in class or something. Andre passes to his boss who passes to her boss and so forth all the way over here until you get to Olivia, and Olivia receives the message. Well, that's well and good. There could be other paths. This person might come up through here to here and over here, or could go from here to here to here and over here. There's this concept of a shortest path to get from, say, Andre over here to Olivia.
If you marked up every shortest path from every person to every other person, and then counted up how many of those shortest paths went through an individual node—here's our CEO again, Darren Whitmore—well, it says that he has 83% of those shortest paths go through Darren Whitmore. It looks like, based on that… By the way, we've got the node size, the size of the dot is related to betweenness. He looks like he's the big cheese. He handles everything. Everything goes through him. But this doesn't tell us much about the true connectedness of this organization. Let's go a little further.
What if we assume, as our first assumption, let's just assume that if we have a department of eight people, that those eight people all talk to each other, we're going to add those connections to that hierarchical org chart. How would this change the betweenness? That's what this chart is. Now, we can see in this department, this blue-colored department, we've got 8 or 10 people here. You can't see it very well, but all of them are connected to each other with lines, with nodes… Sorry, with edges. Now we've got, if this person wants to talk to this person, they can do that directly. They don't have to go all the way out here through Darren or whatever.
Now, we recompute the betweenness, and that betweenness now has reduced for our executive. He's here in the middle. Our CEO, Darren Whitmore, now has a betweenness value of 2.7%, so very little of the communication now on a daily basis goes through Darren. More goes through, say, Tanya Brooks here. She has a much larger dot now. She has 2.4% goes through her and so forth. We start to see a little more about how communication, how information flows around through our business, how the business works.
Now what? Well, let's do a survey. Think about this. We're going to do a survey. We're going to put a survey out to every individual in our company. That sample survey is going to just have one question. Please list all employees at our company that you interact with on a regular basis for business purposes.
Now, that's a fairly simple question. That goes out. As an example, the CEO, Darren Whitmore, writes back that, "Well, I interact with all of his C-suite executive team." Well, that's Lena and Rajiv and Monica on down through here. He also interacts with Carlos and Victor, so they're listed here, too. We set up a JMP data table, and this is just a little snippet of that. It's got Darren's name in the first column and all of the connections that he's mentioned in the second column. Then we continue to build this out for each other individual in the organization. What does that look like when we put that into our network diagram?
Here's that. Now, we see, here's our CEO sitting here in the middle. He's still at about a 2.7% connection rate. But let's focus down here on Bianca Torres. Bianca works in engineering. This is the engineering group, and this happens to be the boss of engineering. But Bianca is sitting out here. She was one of these individual dots over here, but now she's much bigger, meaning that she has many more connections. If you look at it, she's connected also, besides to her entire group, she's connected to quality. She's connected over here to the manufacturing groups. She's connected to the marketing group. She's just involved in a lot of different things in the company.
As a manager in the company or maybe as HR, you might notice this and say and think a couple of things. Maybe Bianca, she's doing a lot of work to keep this company connected. Maybe she should be rewarded. Or maybe It's saying that, "Hey, we've got Bianca doing so many things that she can't handle her normal responsibilities. That's why her other efforts have been slipping. Maybe we need to find somebody else to take over some of those responsibilities for her to make the company work a little better." That's something where we've got a key person here in Bianca that just screams at us that, "Hey, she's a valuable employee. Something's going on here. We need to investigate this a little bit and find out if that's really the way that we want the company to work."
On the other hand, we may have a siloed person. Here's Jordan Ellis up here. He works in marketing. Jordan reports to his boss, and that's the only connection he told us about. Well, is that a good thing or not? Maybe. Maybe Jordan's out here working on a special project or something, and that's what he's supposed to do. He's just supposed to be out there doing his thing. But maybe it's that Jordan is a remote employee, and he really doesn't feel connected with the other people on his department. Well, if that's the case, maybe we should make some extra efforts to bring Jordan into the fold here and some outreach to him to make sure that he feels connected. That's going to help the company. It may help Jordan in his career development and so forth.
That's a little bit about how these network diagrams can be used in an HR environment. I'm going to turn it over to Scott now and let him talk to you about how the program itself works and how he built it.
Great. Thanks, Jerry. We're going to walk through the add-in and some of the options and show how to create these diagrams, and then some of the options that you can do to change the visuals and interact with it to make some conclusions or gain some insights.
Here's the data table, same data table that Jerry used. I only added another column here, some information columns. Maybe there was some additional information on that survey that had some frequency where the higher the number, the more frequent or the more volume of communication were between those two individuals.
In order to launch the add-in, we're just going to go to the Add-Ins menu, come down here to the Network Analysis add-in. If you're new to network analysis or just you don't really have data set up yet, there's a help document to help you get started, and there's some sample data here as well so that you can practice before running your own networks. We're just going to say Run Network Analysis.
Network analysis is using a Python package called NetworkX. It also calls a few other Python packages as well. You can't run it unless you have the appropriate Python installed. You can check the status. You're going to get a little status update that shows that you've installed the appropriate packages. If you're missing any, you'll get a little x, and then you can install the missing packages here. Nothing gets automatically installed for you. You need to make sure that you install those.
Once you have all of the Python packages installed, you can now build your network graph. We're just going to select our nodes and cast them in the Nodes role. We have to specify an initial arrangement of those. There's a number of different ways to arrange those nodes in space. One common way is just a spring algorithm, and that's what we're going to use. Or depending on your visuals, you might select others.
Then we can select different centrality measures. Jerry had talked about degree and betweenness. Those are going to be on by default, and there's some others that you can select. In this case, it's a pretty small network, so these are calculated pretty quickly. But if you have very large networks, you might not run them all because they could take a little bit of time. With those specified, we're going to click OK.
Now, we're going to get our network diagram. It might look a little bit different to Jerry's because there is some randomness. There's random seeds involved in generating these. In general, they should have the same features, but they might look a little bit different.
The network analysis also generates some additional tables and statistics. Up top, we've got our network diagram. We've got some summary statistics. This node table is showing the spatial arrangement of all those nodes that was generated in NetworkX, and then this is just a copy of the original table.
The first thing that you might want to do is explore this network. There's a number of tools to do that up here. For instance, where is Darren Whitmore, our CEO in this network? We can get a list of all the nodes, and maybe we slide down and find Darren. Now, we can see where he is, and we can, of course, select any other node to see where they are.
Well, another thing that you might want to do is just see who's connected to whom. We can select a node here. We're going to look at Kimberly. We want to select all of the different nodes that Kimberly is connected with. We can do that by selecting all the connected nodes, and that will show us who she's connected with. We can do that iteratively, so I can run that again, and that's going to show all the people connected to those connections. You can really start exploring these networks.
In this case, maybe we want to look at this. Like Jerry had mentioned, sometimes we get these clusters that are hard to see. We can show just that selected subnetwork by hiding everything else and then rescaling the view to zoom in. Now, we can see some more detail in that interconnected subnetwork, or we can certainly just use some JMP tools to help us zoom in further. One other thing that we can do is when we get… Maybe you get lost in here, and you need to back all the way back out, so you can show all those nodes and then rescale the view, and that gets us back to the original view.
The next thing you might want to do is just start doing some basic analysis. Jerry had talked about shortest path analysis, so you can certainly do that by selecting any two nodes, casting them as roles, and then finding that shortest path.
One other thing we can do is do that community detection or something called community detection. This is something like clustering. Some of these communities will have similar statistics or similar features. There's different algorithms that you can run to find those communities. We know that there's inherent communities like the departments or positions in the organization. But in this case, we might be looking at communication clusters or communication communities. We can just run one of those by using the default and clicking Run. We're going to have an option here to color by a column, and so we can color by those clusters now, and I'll just click OK.
Now, we're getting a clustered view, and we can see different colors that are corresponding to the different communities in this network. Some of them might make sense. Certainly, different departments are probably clustered together, but there might be some surprises here. We see this interesting arrangement of communication and clustering that might want to look into further. You also get some summary statistics for those communities.
Another thing that you might want to do to analyze this network is just look at the Network Summary tab, and this gives some common statistics for the overall network, and then node features and edge features. You also get summary histograms for all of the centrality measures that were calculated, things like degree, betweenness, eigenvector, whatever was selected in the opening dialog.
In this case, maybe we're interested in looking at betweenness. For betweenness, we can see that most of our community or network has very low betweenness. They're on the edges. But there are a few that have much higher betweenness. Because we're in JMP, and we're using connected data tables, then we can select those and then go back to our network diagram and see who those are.
This is, I think, showing really some of the power between working in Python, doing analysis that you can't natively do in JMP, essentially sending that into Python and then grabbing the results and bring them into JMP's interactive graphs. We can do that for any of those selections here and then go back to our network diagram.
I think network analysis really has two parts. It's got the statistics part, so getting those network statistics like we have here, but then also visualization. There's a lot of different graph options to help you arrange these nodes and edges in ways that help give you more information.
You can change the arrangement. Some networks might look good in different arrangements, and you can just select them and run them. It's passing the network back into Python to run the NetworkX analysis, regenerating spatial orientation, and then bringing it back. You can also change the coefficients for these. You'll find that different coefficients are going to lead to different outcomes as well. I'll just go back to the spring for now. You'll notice if you just run the same one a couple of times, you might get a different view just because of the random starting points for these.
Another thing you might want to do is just select different colors or size columns for the future columns. In this case, maybe we'll go back to the degree. I'm going to find the node color. I'll select that, and it's really just the degree. I'll select that column, click OK, so we can get back to the node color. I just want to mention as well that this is using JMP's bubble plot feature. You have access to all the common bubble plot options as well. Maybe in this case, we want all of our nodes as filled and outlined to help make some contrast.
The last thing that you might want to do is change the edges. You can change the edge color. If you don't like the color, you can color it by a column. What I want to do in this one is maybe change the width of these. We know that in our survey, we've got that frequency column, but in our network diagram, each of those lines is the same width. What if I change the width depending on the frequency? Now, I can see not just who's communicating with whom, but how frequently. We can go change this to column, and I'm going to change it to Frequency and click OK. Now, we can certainly see where those most frequent conversations are. Even though some folks are communicating like these two here, it's not a lot. We can certainly see who's communicating the most in this diagram, just to add additional information.
There's all sorts of other customizations that you can make. You can actually run this arrangement now using that edge weight column. In network diagrams, the nodes and the edges play different roles in the outcome or in that final arrangement. You can add a weight column and rerun it and get a different arrangement to help maybe show the story that you're trying to tell.
That's all I really wanted to show. Hopefully, if you are getting started with network analysis or maybe after watching this, you want to get started, you'll find that there's lots of tools here to help you do that, work interactively between JMP and Python. I'll hand it back to you, Jerry.
All right. Thanks, Scott. One thing I wanted to… Let's see if I can share here at the same time. Do two things at once, talk and share. One thing I wanted to point out is that you've been talking about Python and about JMP. JMP plays very well with Python, and you're using… Why reinvent the wheel, right? You're using Python for some of the calculations, and then the power of JMP and the interactive ability of JMP in order to display things. I just thought that was fabulous. Now, we should be sharing again.
Where does this data come from? We've talked a lot about the diagrams themselves. Well, we've already mentioned it could be a survey. I did want to put a note on here, though. Be careful about privacy concerns when you do a survey. You can start asking questions that people might not want to respond to and could get in trouble. If you're doing this for an HR application, make sure you work through your HR department. You can download some data from Facebook and LinkedIn and those sorts of things and look at those sorts of networks.
There are some problems that you might want to think about. How do you quantify the strength of the connection? Scott mentioned the frequency of connections, and that I think you had as a 1-10 scale. Well, how do you make sure that a 7 on one person's scale is a 7 on another person's scale? That's a common problem with those subjective scales.
How do you resolve differences in connections? Let's say person A says, "I've got a strong connection with…" Let's say, "I've got a strong connection with Scott," and Scott says, "No, I don't really talk to Jerry all that much at all." How do you resolve that? I don't have a good answer for you. That's something you might need to work through.
How do you quantify the direction of information flow? Perhaps Scott gives me a lot of information on a daily basis, but I don't give him much of anything. We might have a high connectivity, a high frequency of communication, but it's all flowing one way. Just lots of different things that you want to think about as you play with this add-in.
In HR, we've talked about spotting hidden influencers and siloed individuals. You can also use it to maybe enhance onboarding. You bring somebody in, and rather than just show them an org chart, you can say, "Now, this person here, this is a go-to person. You want to get close to that person because they know a lot about what's going on." You can show that to them in this diagram. Change management, if you've got a new organization being announced, it might be a good way to show that. You can justify HR actions like promotions and encouragement of employees. You can just see the information flow within your organization, all useful things for a business.
Now, there are other applications for this, as I said earlier, aside from HR. If you look in the help documentation, you'll see these… I think we've got four slides coming up here that Scott has embedded in his help file. Scott, you want to mention what each of these is about?
Sure. Each of these data sets is available in the add-in. This one is anonymized Facebook data. There's thousands of nodes in this case, and you might want to analyze this data to see who an influencer is or who might be a bridge between two different communities. In this case, we colored the nodes by selecting one. We selected the purple node, selected all the connected, and then those are colored in the teal, and then any node that's not connected to purple is in blue. You can see that purple is connected to that teal one in that mass of blue down there in the bottom. You can see who the connectors are or who the influencers might be in large social connection networks.
The next one is microbiome analysis. This is a reproduction of some results that were published, and I provide a link to the publication as well as the data set. This can show which bacterial, what microbes, in this case in a gut, can interact with each other in a positive or negative way, and the magnitude of those interactions or the thickness. You can start now to see relationships between ecological or biological systems.
The next example, this is just a fun example. I saw this when I was looking for examples on network analysis, I came across this graph. I tracked down the data set and just wanted to show that you could make some fun network diagram. This is showing all the different games and competitions for the World Chess Championships from 1886 to 1985. Just say who played whom. It's in many cases very linear, but you do see there's a few branches in there. Emanuel Lasker played quite a few people. You can see Bobby Fischer up at the top, only playing Boris Spassky. This is just a fun example in this data set, I believe is also available in the add-in.
Fischer was my idol when I was a kid learning chess. I'm dating myself.
This last example is… I think in JMP, we talk a lot about predictive models and neural networks when it comes to artificial neural networks. Another application is to visualize actual neural networks. This is some worm species, and its actual neural network was mapped. Each node is a neuron, and it has different connections to different neurons. I just ran a simple community clustering algorithm, colored it by those, arranged it. You can see this almost looks like an artificial neural network map, and then colored those edges by the number of connections between nodes. The darker the color, the more connections between those nodes.
Hopefully, if you're getting started with network analysis, you don't have your data yet, you can start practicing with these data sets.
Then there are other applications for network diagrams. You can look at stakeholder relationships and account relationships, project management. You can map out community resources. You can facilitate collaboration. If you see that two groups are operating pretty well independently, you can bring those groups together. Disease transmission. Maybe you're looking at what communities have a particular disease outbreak and what don't, where the barriers might be. Supply chain mapping, and just many, many different things that you can use it for.
Our add-in… I use that loosely. Scott's add-in is located at marketplace.jmp.com. That's where you'll find all of JMP's add-ins these days, all of the JMP available add-ins. Look for Network Analysis, or you can just type in this particular URL. Make sure you look for Network Analysis. There's another one out there that's Network something else. I'm sure it's valuable as well, but this particular one is called Network Analysis. Then, once you've downloaded that, installed it in JMP, you'll have access to the help document and to the sample data files that Scott so conveniently provided with the add-in.
With that, I'll say thank you. Thank you, especially to Scott, for all the heavy lifting that he did to put this thing together. Thank you, as the viewer, the listener today, for taking a look at our work. If you have any questions, there's our contact information. Feel free to reach out to us. We'd be happy to talk to you. Thank you.
Presenters
Skill level
- Beginner
- Intermediate
- Advanced