CITIZEN DEVELOPER

Visualization Challenges

SCENARIO

It's the end of the quarter, and the VP of Sales wants to measure customer satisfaction. You decide to survey your customers and the results that come back are a little troubling. Some of your key accounts aren't satisfied. They're threatening to walk.

You decide to assemble a strategic account task force to triage your top accounts before you lose them.

Who do you invite? There are too many people involved with these large accounts to make for an effective meeting.

You consider the problem and decide to identify the people who have the strongest relationships with your key accounts.

A force-directed graph uses connection strength between entities to draw related entities closer in a visualization. To generate the force-directed graph among staff (sales and engineering) and customers you request an export from your customer relationship management (CRM) system. Unfortunately the data isn't in the right shape for the force-directed graph.

This challenge invites you to reshape the CRM data export so it can be rendered as a force-directed graph. Once you have that diagram you'll know exactly who to invite to the meeting about each customer.

Good luck!

Link to exported CRM data

DESIRED OUTPUT

The force-directed graph that you've chosen requires data encoded as a JSON object. This dictionary would have two keys: nodes and links.


{ "nodes": [
    { "name": "Kelly Awesomesauce", "group": 1 },
    { "name": "Bobbert Applebottom", "group": 3 },
    ...
  ],
  "links": [
    { "target": 0, "source": 1, "value": 8 },
    ...
  ]
}
      

Note that departments (groups) should be represented with a number:

  1. engineering
  2. sales
  3. clients

Also note that source and target reference zero-based indices of your nodes list.

SUBMISSION

There seems to be an error with your solution

Check Answer

ANSWER

Click and drag to manipulate the force-directed graph, and hover over a node to identify it.

ADDITIONAL RESOURCES