Clustering is a powerful tool that allows you to connect elements based on the data in their fields, and it's particularly useful on stakeholder and network maps.

When clustering is activated, Kumu will create new elements to represent each possible value for a field of your choice, and it will draw a connection between your elements and the value(s) in their field.

Here's a visual example—musical artists clustered by their genre:

This guide will make you an expert on clustering, one of Kumu's most unique and powerful tools!

Before you start: use fields to add additional information to your elements, connections, and loops.

Why is clustering valuable?

There are hidden relationships in much of the data you have stored in spreadsheets; they're just not stored explicitly as connections. For example, you probably have a spreadsheet full of contacts, with one column storing the person's name and another column storing the organization she works for. If you imported this directly into Kumu, you'd end up with a map like this:

Not that eye opening, right? You could click on each element to open its profile, allowing you to see each person's organization, but it would take you a long time to gain any insight into your data.

If you cluster these people by their organizations, you can start to get a better understanding of your network:

Voila! We used clustering to transform a rigid spreadsheet into a relationship map of all the people and organizations they work for.

Cluster in the Basic Editor

If your elements are people, cluster by...

  • Tags

  • Skills

  • Teams

  • Interests

  • Projects

  • Organization

  • City

If your elements are organizations, cluster by...

  • Tags

  • Initiatives

  • Populations served

  • Funding sources

  • Board members

  • Region

  • Sector

If you need to restrict clustering to certain elements, cluster by more than one field, or customize the element type of the elements created by clustering, learn how to fine-tune your cluster settings.

Cluster in the Advanced Editor

If you prefer working in the Advanced Editor, you can use the cluster property in the @settings block to activate clustering. Here's the simplest version of the cluster syntax:

@settings {
    cluster: "Field";

Just replace Field with the name of any field in your project, and any element with data in that field with be clustered!

If you need to restrict clustering to certain elements, cluster by more than one field, or customize the element type of the elements created by clustering, learn how to fine-tune your cluster settings.

Fine-tune cluster settings

When you're using the Basic Editor's Connect by tool or the simplest version of the Advanced Editor's cluster syntax, cluster settings follow three default rules:

  1. All elements on the map will be clustered by the field you chose.

  2. You can only cluster by one field.

  3. The new elements that get created by clustering will use the name of the cluster field as their element type (for example, if you cluster by "Organization", the created elements will have the element type "Organization").

These default rules often won't cause any problems for your map, but there are some cases where you will want to override them. To do that, you can use either the Basic Editor or Advanced Editor to fine-tune your cluster settings.

Fine-tune in the Basic Editor

Click the Add rule button to create a new cluster rule. Then, click next to "Connect" to bring up the Selector Builder, which allows you to narrow the selection of elements that will be clustered.

Click next to "by" to choose which field those elements will be clustered by, and click next to "as" to change the element type that will be assigned to the elements created by clustering. (Wondering when it's useful to fine-tune the element type? Jump to the explanation.)

If you want to cluster by more than one field, just click the Add rule button and repeat the process!

Fine-tune in the Advanced Editor

In the Advanced Editor, here's the syntax for fine-tuned clustering:

@settings {
 cluster: selector by "Field" as "Type";

Replace selector with any valid selector. Replace Field with the name of the field you want to cluster by, and replace Type with the value that Kumu should set as the element type for each element created by clustering (make sure your Field and Type are wrapped in double quotes).

(Wondering when it's useful to fine-tune the element type? Jump to the explanation.)

Here's an example that clusters all elements with the element type "Person" by their organization. The organizations that are added to the map will have the type "Organization".

@settings {
 cluster: person by "Organization" as "Organization";

Multiple cluster rules can be added by separating them with a comma:

@settings {
 cluster: person by "Organization" as "Organization", organization by "Sector" as "Sector";

When is it useful to fine-tune element type?

Fine-tuning the element type is useful when you want to make sure that Kumu re-uses existing elements instead of creating new elements through clustering.

When Kumu is about to create a new clustering element, it first searches the entire project for an element with a matching Label and Type. If it finds a match (on any map), it will re-use that element (complete with any Description, Tags, and custom field data as well).

One use case for this feature is cross-matching multiple fields, such as "Skills needed" and "Skills offered". In that case, you're probably looking to see the overlap between who's looking to learn a skill and who might be able to teach it. To start, you would cluster all elements by "Skills offered", then add a second rule to cluster all elements by "Skills needed".

If you don't customize the type of the elements created by this cluster setting, the types will default to "Skills offered" and "Skills needed", and you'll get two separate elements for each skill: one with the type "Skills offered" and the other with the type "Skills needed".

But, if you set the element types to "Skill" for both clustering rules, Kumu will create only one element for each skill value—even though the values originated in different fields.

Limiting which fields can be clustered

If you'd like to hide certain fields from your Cluster Settings dropdown menus, you can click on an element, click on the downward arrow next to the field name, and use the field settings to disable clustering:

Last updated