Skip to main content

Analytics

Deterministic, database-grounded analytics over the sponsorship deal graph. Use these instead of free-text ask_graph for any counting, ranking, or benchmarking question.


aggregate_deals​

Count sponsorship deals grouped by a facet — the deterministic answer to "how many / top N / by category|sport|league / benchmark" questions.

Parameters​

NameTypeRequiredDescription
group_bystringYesOne of industry, sub_sector, sport, league, country, deal_type, sponsor_tier
split_bystringNoSecondary facet (same value set) — nests a count under each group
filtersobjectNo{ industry, sub_sector, sport, league, country, deal_type:[], status:[], min_amount, since, target_label }. Values use exact English taxonomy (e.g. financial_services).
metricsstring[]NoSubset of count, amount_avg, amount_median, amount_sum (amount metrics are EUR/USD/GBP only; not combinable with split_by)
top_nnumberNoMax groups (default 10, max 50)
include_examplesnumberNoFlagship deals per group (max 5)

Returns​

{ group_by, split_by, filters, groups: [{ key, count, splits?, amount?, examples? }], total_deals_considered }.

Example prompts​

"Top 10 categories by deal volume over the last 12 months, split by sport" "How many sponsorship deals per sport for fintech brands?" "Kit/jersey sponsorship deals among La Liga clubs"

Note: deal_type distinguishes jersey, naming, branding, etc. — there is no dedicated sleeve value, so "sleeve" resolves to jersey/kit deals.


Faceted AND/OR entity filter over the graph. Two uses:

  1. Build shortlists — filter brands/rightholders by industry, sub-sector, sponsored sport/league/country, and more.
  2. Bulk-export many brands — one call returns up to 100 complete nodes, the source of truth behind the app's CSV export and the CRM sync. (For a SINGLE brand, get_entity already returns the full node + its sponsors.)

Parameters​

NameTypeRequiredDescription
groupsobject[]Yes[{ operator: "AND"|"OR", conditions: [{ entity_type, property, operator, value }] }]. Condition operator ∈ eq, contains, in, gte, lte, range, not_eq, exists, not_exists.
operatorstringNoHow groups combine (AND/OR)
limitnumberNoMax nodes (default 100, max 100)
offsetnumberNoPage offset

Returns​

{ nodes: [{ id, label, type, properties }], total }. For a brand, properties contains its full firmographic profile.

Every field of a brand​

Filter on name to pull one brand's whole node:

{
"groups": [
{ "operator": "AND", "conditions": [
{ "entity_type": "brand", "property": "name", "operator": "eq", "value": "Qonto" }
]}
]
}

The returned properties object includes (when known):

  • Identity — name, aliases, website, website_domain, linkedin_url, description
  • Classification — industry, sub_sector, keywords, business_models, brand_positioning, geographic_scope, ownership_type, group (parent)
  • Size & financials — revenue, revenue_eur, revenue_range, employees, founding_year
  • HQ — siege_social_pays (country), siege_social_etat (state/region), siege_social_ville (city), address, hq_continent, hq_region
  • Geographic footprint — operating_countries, operating_regions, operating_cities, operating_continents, brand_acts_in
  • Audience — target_audience_income_level, target_audience_key_interests
  • Funding (VC-backed brands) — funding_rounds_count, funding_last_round_type, funding_last_round_amount_eur, funding_last_round_date, funding_first_round_date, growth_stage

For a single brand, get_entity returns the same full node (plus its sponsors). Use database_search when you need many brands at once or a filtered shortlist.

Multiple brands at once (bulk export)​

A single call returns up to 100 full nodes — the same data the app's CSV export produces for a list. total reports the full match count; page with offset (0, 100, 200…) for larger sets.

  • By filter — every brand matching a facet, each with its full profile:

    {"groups":[{"operator":"AND","conditions":[
    {"entity_type":"brand","property":"sub_sector","operator":"eq","value":"fintech"}]}],
    "limit":100, "offset":0}
  • By an explicit list of names — use the in operator:

    {"groups":[{"operator":"AND","conditions":[
    {"entity_type":"brand","property":"name","operator":"in","value":["Revolut","Qonto","N26"]}]}]}

To export your saved list specifically, get_pipeline returns every saved entity in the workspace with its stored entityData — the MCP equivalent of the My Lists CSV export.


See also brand_intel_benchmark (avg/median/count of deal amounts by sport & league) and brand_intel_opportunities (under-served sport segments).


get_distinct_values​

List the distinct values a property takes — powers typeahead and filter building.

Parameters​

NameTypeRequiredDescription
node_typestringYese.g. "Brand", "RightHolder"
property_namestringYesProperty to enumerate (e.g. "industry", "country")
prefixstringNoOnly values starting with this prefix
limitnumberNoMax values (default 20)

Example prompt​

"What industries exist in the brand database?"


get_value_counts​

Count how many nodes have a given property value.

Parameters​

NameTypeRequiredDescription
property_namestringYesProperty to match
valuestringYesValue to count
node_typesstring[]YesWhich node types to count across

Example prompt​

"How many brands are in the Retail industry?"