weekly-share-of-voice-report

Weekly share-of-voice report

Runs one search per brand each week, counts results, computes each brand’s share of total mentions, and writes a report your team can act on.

searchresult

What it does

  1. 1

    Step 1

    List the brands to track: your own product and each competitor. Run one search per brand with since set to 7d and limit set to 100. Each search returns results and a quote showing what it cost.
  2. 2

    Step 2

    Count the results per brand. Divide each count by the total across all brands to get the share of voice as a percentage. The result count is the number of unique URLs that mentioned the brand in the last seven days.
  3. 3

    Step 3

    Write the report: a table of brand, mention count, share percentage, and week-over-week change. Include the top three results per brand as examples so the team can read the most relevant threads without searching.
  4. 4

    Step 4

    Send the report to email, a Slack channel, or a Doozy todo. Schedule the search job to run every Monday morning with a cron job, a Claude Code scheduled task, an n8n timer trigger, or a GitHub Actions cron workflow.
  5. 5

    Step 5

    Save each week’s raw counts to a file or database so your agent can compute the week-over-week delta. The SKILL.md includes a JSON template that stores the history and generates a Markdown table with trend arrows.
  6. 6

    Step 6

    This playbook ships as a SKILL.md in the dcouple/discatch-playbooks repo so skills.sh and agent skill directories pick it up.

Sources it watches

WWWWebNWSNewsHNHacker News

Common questions

What does this cost per week?

One search unit per brand per week plus one result unit per result returned. If you track five brands and each returns 50 results, that is 5 search units and 250 result units per week. Run POST /v1/quote with dry_run set to true on the search body to see the exact ceiling before each run.

Is this the same as Octolens’s share-of-voice calculator?

Similar goal, different method. This playbook runs real searches over the waterfall and counts actual mentions found in the last seven days. It does not estimate volume from a keyword database or projected monthly search impressions. The numbers reflect what the waterfall found, not a third-party estimate of what exists.

How do I track week-over-week change?

Save each week’s counts to a JSON file or a database table. Your agent reads last week’s counts and computes the percentage change per brand. A rising competitor and a falling own-brand share is the signal to investigate. The SKILL.md includes a storage template and a delta calculation.

Can I run this daily instead of weekly?

Yes. Change since to 24h and run the job every day. Daily reports cost more search and result units but show shorter trends and catch sudden spikes. For most teams a weekly cadence is enough to track competitive position. A daily cadence is worth the cost during a launch or a PR incident.

Why not use catches for this?

Catches fire when new results appear. Share of voice is a point-in-time snapshot: how many mentions exist in a period, not whether a new one just appeared. A search with since set to 7d and a high limit answers that question directly. You can combine both approaches: catches for real-time alerts and weekly searches for the share-of-voice report.

What if a brand returns more than 100 results?

Set a higher limit. The maximum is documented in the API reference. Each additional result costs one result unit. For share-of-voice purposes the count matters more than reading every result, so you can also use the total count in the response without fetching the full list.

Last reviewed by , founder, dcouple. Copy from docs/playbooks.md.