Visualize Types of Company Networks with Python

In this article we are going to talk about different types of company networks, what characterizes them and also what kind of impact each one of them has when it comes to knowledge transfer. At the end I am going to make a suggestion of how you can visualize this dynamic with python with the libraries networkx and matplotlib.

Nowadays it has become all the more common with an increased level of collaboration between different actors; to see a company as an isolated entity is something that makes less sense these days than it used to. This increase has hence also increased the level of knowledge transfer as such between the different actors in the market.

Open innovation and types of company networks

It is common nowadays to talk about the difference between open and closed innovation (Chesbrough, 2003). When it comes to open innovation we have a high level of collaboration and knowledge transfer between different actors (companies, individuals etc.), and in the case of closed innovation the transfer is much more limited.

Within industries such as pharmaceuticals and biotech it is still to a large degree relevant to have a more closed innovation system, since we in this case are talking about products with a high level of intellectual property and more patents.

However, in other cases such as software, and a range of other types of industries, the conditions are a bit different. The software industry has benefited a lot from open innovation.

The issue of patents is for example less delicate; we don’t have a situation where we need to protect the intellectual property with the same vigor as when we are talking about pharmaceuticals, since the development trajectory of a product from the idea stage to the finished product is not as extensive and does not include the same kinds of obstacles.

It is important to note that the development of a new pharmaceutical product is subject to various quality checks during a much longer time before a product launch can become possible.

We can hence conclude, as noted earlier, that the network a company has is a lot more important nowadays than it used to be. This importance furthermore creates a necessity to better understand such networks within our industry.

It can be difficult for a sole actor to obtain all the information necessary in order to create a competitive advantage, and studies generally denote the importance of having a heterogeneous network in order to get access to different kinds of information.

Strong and soft connections (relationships)

A study done by Powell & Grodal tells us that we can distinguish between different actors in terms of their duration and stability, and whether or not they have been created in order to obtain a specific goal (Powell & Grodal 2005). Some of them have a hierarchical nature with a single authority that maintains the flow of information, among other things, while others have a more horizontal nature.

According to a study by Granovetter, company networks can have both strong and soft relationships (Granovetter 1973). A strong connection or relationship characterizes a situation where you interact regularly with an entity or a person. Strong connections are based on common interests and in such a case we have a larger flow of information.

The soft networks do not transmit the same amount of information, but studies have shown that they transmit more novelties. We can therefore say that soft relationships have a lower bandwidth, but a larger reach.

We are now going to perform an exercise in order to illustrate how we can use network analysis with python in order to get a better view of our network and how it can benefit us.

Excel spreadsheet and networkx

We have first of all prepared an excel file with the name network_agents2.xlsx. In this file we have the following information:

A note regarding the above picture. I originally wrote this article for a Spanish speaking audience. The following glossary therefore applies:

  • Primero – first
  • Segundo – second
  • Tipo – type
  • Nuestra empresa – our company
  • Competidor – competitor
  • Empresa – company
  • Fuerte – strong
  • Debil – soft

Take it as an exercise in order to learn some Spanish. 😉 Now, in python we are going to need to import the following three libraries:

We can use pandas in order to load the above spreadsheet into a hashmap. With the help of networkx we are going to then add the information in the hashmap into a network and finally we are going to use matplotlib in order to make a visual illustration of all of this.

We will load the excel file into a python variable with the following snippet of code:

We have now read our excel file into a hashmap. The second thing we are going to do is to assign colors based on the types of relations between the different company actors from the above spreadsheet:

Visual projection of types of company networks

The strong relationships will have a blue color while the weak relationships will have an orange color. We will thereafter create a graph where we have added the node (representing the companies) and the edges (representing the relationships between the mentioned companies).

We finish up by using matplotlib in order to visualize the network which we have created:

Visualization of types of company networks.

As we can see the colors correspond to the relationships in our excel spreadsheet. If we only have a few contacts in our organization then it is not really necessary to make this kind of projection of our types of company networks.

However if our networks grows, as it should, then we can simply enter the information of the new contacts (and the contacts of our competitors, investors, suppliers etc.) into an excel spreadsheet and then load it with python in order to get a more “spatial” overview regarding how we could improve our positioning, knowledge transfer, among other things. Keep in mind that which we mentioned above:

Soft relationships do not transmit the same amount of information, but studies have shown that they are the ones which transmits more novelties.

Hence, here we have a simple example that helps us to discern our strengths and weaknesses in our network and the network of other actors in the same industry. This is a dynamic projection, since we can add them easily afterwards to the spreadsheet and then run the script again. We can also add more characteristics later on.

Saving types of company networks to a pdf.

Matplotlib also gives us the possibility of saving our projection as an image in order to use in our presentations, pdfs etc. And since all of the tools we have used in this article are open source, then we can put it to work without having to buy expensive software in order to display types of company networks.

Final words about these types of company networks…

This is a simple example of how we can use python in our to improve our overview of different types of company networks. As our understanding of our network becomes more sophisticated, we can easily add more characteristics to each of the actors in the network.

When working within large organizations I’ve often noticed that people don’t really take a structured approach to their networking. It is something they do at work after hours or at fairs. They collect a few business cards which they later on put in a drawer.

Yet, the network is one of the most important resources of a business. If handled correctly it gives us access to more clients, extensively useful information that would have been difficult know otherwise and we also build bridges for the future.

This simple approach can be extended by adding more characteristics to each actor, such as for example personality traits based on the big five personality model in order to optimize our possibility of getting a long with the right person.

We can also add characteristics such as:

  • Industry
  • Country
  • How easy it is to retrieve knowledge from the person or the company in question
  • If the actor has a strong or weak position
  • If the relationship is fresh or if it has been awhile since the last contact
  • A background visualization of a geographic perspective

A more structured approach when it comes to how we view types of company networks can help us to optimize something that others have a quite sloppy approach to, and in so doing create a competitive advantage.

 

Johan Bengtsson