Skip to main content
Compute how much audience overlap exists across a group of channels. The response carries each channel’s own size, every n-way intersection (pairs, triples, and so on), and aggregate metrics: total unique reach, the count of people in more than one channel, and the multi-channel rate. The dashboard Audience overlap card uses the same query.

Synopsis

talkvalue path analysis channel audience --channel-id <id> --channel-id <id> [...]

Options

FlagTypeDescription
--channel-id <id>integer (required, repeatable)Channel ID to include in the overlap. Repeat to add more. Between 2 and 5 IDs total.
The command exits with a usage error if fewer than 2 or more than 5 channel IDs are provided.

Examples

1. Two-channel overlap

talkvalue path analysis channel audience \
  --channel-id 7 --channel-id 12 --json \
  | jq '{intersections: .data.intersections, metrics: .data.metrics}'
Returns the single 2-way intersection plus the aggregate metrics for channels 7 and 12.

2. Find the largest overlap in a trio

talkvalue path analysis channel audience \
  --channel-id 7 --channel-id 12 --channel-id 19 --json \
  | jq '.data.intersections | sort_by(-.count) | .[0]'
Sorts every n-way intersection by member count and returns the largest. The result includes the 3-way intersection plus every 2-way pair, so you can spot redundancy at a glance.

3. Capture the multi-channel rate for tracking

talkvalue path analysis channel audience \
  --channel-id 7 --channel-id 12 --channel-id 19 --channel-id 25 --json \
  | jq -r '[.data.metrics.multiChannelRate, (now | strftime("%Y-%m-%d"))] | @csv' \
  >> "reports/multi-channel-rate.csv"
Appends the day’s multi-channel rate to a long-form CSV. Useful for tracking how concentrated your audience is over time.

Response

{
  "data": {
    "channels": [
      { "id": 7,  "name": "Newsletter",  "icon": "mail", "color": "#5252FF", "personCount": 1843 },
      { "id": 12, "name": "Webinars",    "icon": "video", "color": "#FF6B5C", "personCount": 920 },
      { "id": 19, "name": "Beta List",   "icon": "flask", "color": "#34C77B", "personCount": 412 }
    ],
    "intersections": [
      { "channelIds": [7, 12],     "count": 318 },
      { "channelIds": [7, 19],     "count": 142 },
      { "channelIds": [12, 19],    "count": 87 },
      { "channelIds": [7, 12, 19], "count": 41 }
    ],
    "metrics": {
      "totalUniquePersons": 2589,
      "personsInMultipleChannels": 506,
      "multiChannelRate": 0.1954
    }
  }
}
channelIds in each intersection is sorted ascending. multiChannelRate is personsInMultipleChannels / totalUniquePersons.

See also