-
Notifications
You must be signed in to change notification settings - Fork 3
Ranked influence typology
Davide Miceli edited this page Nov 14, 2018
·
20 revisions
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.
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. |
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);
That will return:
{
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
}
}