Logo
← All blogs

LLMs reconciling sponsorship contracts against measured exposure

Sponsorship contracts describe inventory in legal language while computer vision produces timed exposure events. Sponsorlytix used large language models to bridge those worlds so fulfilment reports read both the contract and the ledger.

Eagle Eye kept humans in the loop for clause confirmation while LLMs drafted structured inventory maps at scale across sports. Measured detections from Brand Detection and Placement Detection feed the join; analytics factors explain variance; Koba surfaces exceptions for commercial review.

Problem framing for rights holders and brands

A clause may promise "pitch-side LED in primary camera packages during open play" without naming detector asset codes. Ops teams previously translated those phrases by hand. That process slowed multi-property campaigns spanning football, tennis, combat, and basketball.

Brands and rights holders need variance reports that cite clause text beside measured dwell, clarity, and visibility — not a spreadsheet archaeology project after every match weekend.

  • Clauses must map to ontology asset classes the measurement store already understands.
  • Camera constraints and time windows need typed extraction, not free text alone.
  • Ambiguous "premium package" language must escalate — never silently invent fulfilment.
  • Multi-sport brand packages require one reconciliation grammar across properties.

Methodology — clause extract, validate, join, HITL

Contracts enter as clause segments with sport, property, and term metadata. An LLM extracts asset class, camera constraints, time windows, and brand identifiers into a typed schema. A validator checks that every field maps to known ontology entries before any join runs.

Measured exposures join to those expectations by brand, asset, and window. Variance reports flag under- and over-delivery for commercial review. Ambiguous clauses escalate to operators in Koba before they affect partner dashboards. Turtul will extend structured vision+language review over contested clips as it arrives.

Multi-property campaigns share one ontology across football LED ribbons, tennis backdrops, and basketball courtside strips. The LLM is instructed to emit Sponsorlytix asset classes only; unknown phrases set needs_hitl rather than inventing a parallel taxonomy.

Contract to ledger reconciliation (schematic)
Schematic / illustrativeClausesLLM mapValidateJoinVarianceHITL
Illustrative flow from contract text through LLM extraction to exposure join. Architecture diagram only.

Detection panels — what the ledger reconciles against

Reconciliation is only as strong as the exposure events underneath. The panels below show the inventory-grade detections that feed the join — LED ribbons, boards, and kit marks that contract clauses typically name.

LED and banner detections that feed sponsorship contract reconciliation
Inventory-grade LED and banner detections feeding the exposure ledger. Contract clauses that name pitch-side LED packages join against events like these — methodology illustration.
Board and equipment detections used in multi-asset contract fulfilment
Board + equipment marks illustrate multi-asset clauses (boards, kit, equipment) reconciled in the same run as LED inventory.

Real-world reconciliation examples

  • Football LED ribbon clauses joined to ribbon exposure during open play.
  • Tennis backdrop minimums checked against changeover camera packages.
  • Combat cage LED guarantees reconciled per bout on a fight card.
  • Multi-sport brand packages spanning football and basketball inventory classes.
  • Clauses with "hero moment" language routed to HITL before auto-fulfilment.

Results discussion (illustrative)

Most clauses map cleanly when ontology coverage is strong. Edge language around "premium packages" or "hero moments" needs operator confirmation. Sponsorlytix surfaces those clauses explicitly rather than forcing a silent guess. The chart is a schematic handling mix — not a production accuracy claim.

Illustrative clause handling mix
Schematic / illustrativeAuto-map71Review22Rewrite7
Schematic mix of auto-mapped versus operator-reviewed clauses. Not a production accuracy claim.

Code — structured extraction and variance join

type InventoryExpectation = {
  brandId: string;
  assetClass: string;
  cameraConstraint?: string;
  window: { start: string; end: string };
  minVisibility?: number;
};

async function mapClause(llm: LlmClient, clause: string): Promise<InventoryExpectation> {
  return llm.structured(clause, {
    schema: "InventoryExpectation",
    instruction:
      "Extract sponsorship inventory expectations using the Sponsorlytix ontology. "
      + "Leave ambiguous premium/hero language for HITL; do not invent asset codes.",
  });
}

function variance(expected: InventoryExpectation, measured: Exposure[]) {
  const hit = measured.filter((e) =>
    e.brandId === expected.brandId &&
    e.assetClass === expected.assetClass &&
    inWindow(e, expected.window)
  );
  const delivered = hit.reduce((s, e) => s + e.factors.visibility * e.factors.time, 0);
  return { expected, delivered, delta: delivered - (expected.minVisibility ?? 0) };
}
CLAUSE_SCHEMA = {
  "type": "object",
  "required": ["brand_id", "asset_class", "window"],
  "properties": {
    "brand_id": {"type": "string"},
    "asset_class": {"enum": ["led_ribbon", "digital_board", "backdrop", "jersey", "cage_led"]},
    "camera_constraint": {"type": ["string", "null"]},
    "window": {"type": "object"},
    "needs_hitl": {"type": "boolean"},
  },
}

Takeaways

LLMs turn contract prose into measurable expectations when ontology validation stays strict. Sponsorlytix runs that bridge so commercial teams compare promises to Eagle Eye ledgers without spreadsheet archaeology.

Ambiguity becomes a review queue in Koba, not a silent gap in the report.