May 25, 2018

Five New Features Including a 50x Speedup in the Default Layout Algorithm

Andrew Pitts

We are pleased to announce that a number of new features recently went live! We've summarized below the five most significant improvements.

1. A ~50x Speedup in the Force Directed Layout Algorithm

When nodes are positioned in Polinode they are generally done so using the default Force Directed layout algorithm. This algorithm simulates physical forces between each node - there is a repulsion force between each node and every other node and, simultaneously, there is an attractive force that runs along the edges in the network. The net effect of these forces is that nodes that are relatively closely connected to each other in the network are positioned relatively close to each other in space. As you can imagine, these calculations can become computationally intensive for very large networks and recently some users found themselves pushing the boundaries of what was possible in Polinode. As a result we have optimised the existing force directed layout to ensure that it continues to scale efficiently for 10’s of thousands of nodes and 100’s of thousands of edges. For larger networks we’ve seen a ~50x speedup achieved after these optimisations.

2. The Option to Sort Categories Alphabetically in the Plot Nodes Function

Within Polinode you can easily move from a network layout like the force directed layout to a Cartesian layout, where the x and y axes represent attributes on the nodes. For example, you can plot say a simple measure of centrality like In Degree versus the employment tenure of each individual in the network. The attributes that you can use for this plot nodes functionality can be either numerical attributes or categorical attributes, like Gender or Division. Where they are categorical attributes the default is for those attributes to be plotted in descending order of the number of nodes in each category. So, if you plot by Division say then the plot will start with the Division that has the largest number of nodes in that division and then the second largest and so on. The disadvantage of this has been that the plot then doesn’t generally line up with the order of categories on the legend. So, we have added an option to plot nodes under Advanced Options to plot the categories by alphabetical order rather than by count. The screenshots below demonstrates where you can find the new setting and also the result of using it.            

Using Plot Nodes where categories are sorted by the number of nodes in each category
Using Plot Nodes where categories are sorted by the number of nodes in each category

Using Plot Nodes where categories are sorted alphabetically to match the legend
Using Plot Nodes where categories are sorted alphabetically to match the legend


3. The Ability to Calculate the Average Weight for all Nodes

Often networks have an edge weight attached to each edge. For example, if we are conducting an organisational network analysis, we will often ask respondents to indicate the frequency of their interaction with other respondents on a scale say between 0 and 100. We can then size the edges by those values and, if we do so, those values will be interpreted as an edge weight in Polinode. Quite a few of the metrics that you can calculate in Polinode are able to take this edge weight into account, including In Degree, Out Degree and Total Degree. Previously, each of these metrics would calculate the sum of these edge weights if you elected to take the edge weight into account. So, if a node has three incoming edges with weights of 3, 4 and 5 then the In Degree with weights taking into account would be calculated as 3+4+5 = 12. There is now also the option (summarized by the screenshot below) to calculate the Average weight for each type of degree as well. So, for our previous example, this would give us a value of (3+4+5) / 3 = 4.        

An example of calculating the average edge weight for each node
An example of calculating the average edge weight for each node


4. You Can Now Edit Respondent Status Directly

When running relationship-based surveys using Polinode you will typically send respondents a unique URL that links to their response using the built-in mail merge functionality within Polinode. Once a respondent has taken the survey, their status will be changed to Submitted and, for privacy reasons, their response will not be able to be accessed again using that unique URL. This stops a respondent from accidentally forwarding that link to someone else and that person then accessing their response. On occasion though a respondent will want to change or edit their response and you now have the ability to allow them to do from within Polinode – simply click on the status of their response and edit it from Submitted to Started and they will then be able to use the same link to edit their response. In fact, you can now change the status of a respondent from any status to any other status.              

It's now possible to manually edit the status of any respondent
It's now possible to manually edit the status of any respondent 


5. A New "Starred" Status for Respondents

In addition to the current statuses that a respondent may have – Not Sent, Not Started, Bounced, Started and Submitted – we have added a new status called “Starred”. The Starred status is designed to be a temporary status that allows you to select a set of respondents and then send that group of respondents an email. This is helpful if you want to send an email to just a handful of respondents but not everyone that shares the same status. Simply, change the respondents that you want to send an email to to “Starred” then send the email under Manage → Send Emails and, once the emails have been sent, the status of the respondents will revert to what they were previously.    

You can use the new "Starred" status to send emails to a group of individual respondents selected by you. 
You can use the new "Starred" status to send emails to a group of individual respondents selected by you.
Andrew Pitts

Andrew Pitts is the Founder and CEO of Polinode, a leading provider of organisational network analysis software and solutions for enterprises. Andrew founded Polinode in 2013 and it is now used by large enterprises and consulting partners around the world for a variety of applications including: identifying emerging and/or hidden talent; improving collaboration; finding influencers; succession planning; organisational design; and diversity and inclusion. Prior to founding Polinode, Andrew worked in the Investment Banking Division of Goldman Sachs in both Sydney and New York. He enjoys working at the intersection of technology and HR and is passionate about using technology to help optimise and improve modern organisations. Andrew is a full-stack developer with experience building scalable web applications and also has deep expertise in data analysis and machine learning.

Unlock the hidden insights in your organization

Look past the boxes and lines of traditional org charts and see how your organization actually works.