-
Notifications
You must be signed in to change notification settings - Fork 3
Ranked influence typology
Detect the type of influence that each node holds within a network.
The algorithm detects not only the influence played by every node inside a network, but also how it contributes to the overall network (for example the word-of-mouth, content creation, and diffusion of information).
Given a large dataset of connections as input, it provides a ranking of all nodes by influence score, reporting their typology of influence. Every node plays a certain role in the network and affects the other nodes in its own different way.
Technically, it is a clustering algorithm useful for understanding very large and complex networks that are also impossible to visualize, grouping their components according to their internal flows.
Ranked influence typology algorithm is capable to detect 19 categories of influencers.
Role | Description | Graph view |
---|---|---|
Amplifier |
A node that talks more than listens. It increases the flow of information. | |
Blackhole |
When the node absorbs only a huge amount of information and does not emit anything. This node is totally inactive in producing information. | |
Bridge |
It is a node that ties together two hubs allowing a direct passage of information. | |
Chain |
It is a link in a directed word-of-mouth chain. What it receives will be passed to the next unique connected node. | |
Channeler |
When a node directs the information channeled by a reducer or by a dam into a chain. | |
Connector |
A node that only connects together two common nodes. | |
Dam |
It listens too much but talks very little. It may also act as an information selector, collecting a lot of information to share what is the most relevant. It could be a big barrier to the spread of news too. | |
Emitter |
It does not listen, it is only a source of information. | |
Emitter branch |
It is a source of information only for the single node to which it is connected. | |
Hub |
A key node that manages the flows and strives for the distribution of information. | |
Idle |
It has a passive role, listens a bit and it is mute. | |
Low emitter |
When a node speaks little and never listen. It is a very weak emitter. | |
Megamplifier |
A node that listens little but talks too much. Sometimes it could act as a megaphone to the nodes to which is connected. | |
Receiver |
It holds only incoming connections. It has a pure listening role, what it receives does not return. | |
Receiver branch |
It receives information only from the single node to which it is connected. | |
Reducer |
It is a negative regulator for the network reducing the flow of information. It is like a Dam but not strong enough. | |
Tophub |
The most important hub of the entire network. It is often the main engine of the entire network contributing more than everyone else at the exchange of information. | |
Transceiver |
This is usually a medium or small hub balanced between production and reception of information. It receives and emits more or less the same amount of information. | |
Vulcano |
This node typology spreads a huge flow of information without receiving. This node is super active in producing information, but totally ignored by the incoming flow. |
watchcomplexity.influence.typology(edges=Array[Object])
Field | Type | Required | Description |
---|---|---|---|
edges |
[object] | yes | An array of all the connections between nodes. |
edges.from |
string | yes | The node's name or id where the edge start: the source node of the link. |
edges.to |
string | yes | The node's name or id where the edge end: the target node of the link. |
edges.weight |
number | yes | The weight of the connection: how strong is the bond among the linked nodes. |
// The list of edges
const edges = [
{from: "Napoleon", to: "Myriel", weight: 1},
{from: "Mme.Magloire", to: "Myriel", weight: 10},
{...}
];
// Measure the influence score and detect the influence roles
const nodes = watchcomplexity.influence.typology(edges);
Field | Type | Description |
---|---|---|
nodes |
number | The number of unique nodes. |
edges |
number | The number of the connections between nodes. |
distribution |
object | The number of nodes grouped by typology of influence. |
ranking |
[object] | The list of every single node with its corresponding typology and influence score. The list is ordered by influence score (in descending order), where 100 is the maximum, 0 is the minimum. E.g. [{"node":"Sempronium","role":"Hub","score":94}, { ... }] . |
ranking.node |
string | The identifier name of the node. |
ranking.role |
string | The typology of influence: the role played by that node in the network. (For the list of all typologies and their characteristics see the table below). |
ranking.score |
float | The influence score of the node. The score is in range 0.0-100.0. |
{
ranking:
[
{node: "Marius", role: "Hub", score: 100},
{node: "Courfeyrac", role: "Amplifier", score: 93.68029739776952},
{node: "Enjolras", role: "Reducer", score: 92.93680297397769},
{node: "Fantine", role: "Amplifier", score: 89.96282527881041},
...,
{node: "Mme.Hucheloup", role: "Emitter", score: 39.405204460966544},
{node: "Anzelma", role: "Low emitter", score: 34.94423791821562},
{node: "Pontmercy", role: "Reducer", score: 33.08550185873605},
...
{node: "OldMan", role: "Emitter branch", score: 1.4869888475836461},
{node: "Napoleon", role: "Emitter branch", score: 0}
],
nodes: 77,
edges: 254,
distribution: {
Blackhole: 0,
Vulcano: 0,
Channeler: 0,
Chain: 0,
Bridge: 1,
Connector: 3,
'Emitter branch': 15,
'Receiver branch': 2,
Receiver: 2,
Emitter: 4,
'Low emitter': 9,
Idle: 0,
Transceiver: 5,
Tophub: 0,
Hub: 1,
Dam: 6,
Reducer: 12,
Megamplifier: 7,
Amplifier: 10
}
}