Reddit Mentions (Contact)

Overview

Reddit Mentions (Contact) are the person-level side of Reddit signals. When a thread names a real executive or decision-maker, and we resolve that person to a verified LinkedIn profile, a contact record ships next to the company signal.

These records are precision-first. A person ships only when the thread names a real individual (never a Reddit username) AND our resolver returns a LinkedIn profile that passes a strict confidence gate. Anyone below the gate is dropped, not guessed. Expect a small, high-trust stream - a low single-digit share of weekly volume, mostly executives in leadershipChange events.

Every contact record links to its parent company signal via data.parent_signal_id.

Available Subtypes

A contact record's signal_subtype depends on the person's role in the parent signal.

Contact subtypes - inherited event subtypes + contactMentioned
SubtypeWhen it appliesDescription
leadershipChangeperson is the actorThe executive joining or leaving. Carries data.details {person_name, title, direction: "joins" | "leaves"}. The most common contact subtype
buyingIntentperson is the actorA named buying champion driving an evaluation at a named company
hiringSignalperson is the actorA named hiring manager behind a hiring push
customerFeedbackperson is the actorA self-identified employee of the company responding in-thread
contactMentionedperson is mentionedA real named person relevant to the discussion but not the event's subject - an exec quoted about a deal, a board member named in a shakeup. data.signal_category is event

Actor records inherit the parent subtype's stage/category vocabularies - see the company page accordion. All records carry the same honesty labels: the stage evidence ladder and prominence (core vs aside). A years-old departure recalled in a comment ships aside + completed, not as fresh news.

Schema

Verbatim production record, annotated (parent_signal_id value illustrative):

{
  "signal_id": "668ecdf1-5827-572a-a67b-f2e027571869",  // deterministic: (post, company, subtype, person)
  "batch_id": "2026-09-20-16-25-11", // when we generated it (UTC)
  "signal_type": "reddit-contact",
  "signal_subtype": "leadershipChange", // inherited from the parent event (person = actor)
  "signal_name": "Reddit Mention",
  "detected_at": "2026-09-20T19:04:57.110Z", // delivery-timeline date (week-ending for weekly files)
  "association": "contact",
  "company": {
    "name": "Microsoft", // the employer in the THREAD's context
    "domain": "microsoft.com"
  },
  "contact": {
    "full_name": "Jeffrey Snover",
    "job_title": "Fellow", // CURRENT title per resolution
    "company_name_resolved": "Berkman Klein Center for Internet & Society at Harvard University", // CURRENT employer per resolution - can differ from // company.name: the thread recalls his Microsoft exit; // resolution finds where he is NOW
    "linkedin_url": "https://www.linkedin.com/in/jeffreysnover",  // always present - no LinkedIn, no record
    "resolution_basis": "named_in_post" // the person was NAMED in the thread; we never // resolve Reddit usernames to identities
  },
  "data": {
    "signal_category": "event",
    "summary": "A commenter recalled that Jeffrey Snover, the creator of PowerShell, was pushed out of Microsoft and later went to work at Google before retiring.",
    "entity_role": "subject",
    "stage": "reported", // secondhand claim - honest label
    "category": null,
    "sentiment": "negative",
    "prominence": "aside", // a passing recollection, not the thread's subject
    "timing": "completed", // it happened long ago - labeled history, not news
    "event_date": null, // no date derivable from the thread - never invented
    "event_date_text": null,
    "people": [
      { "name": "Jeffrey Snover", "title": "Creator of PowerShell", "employer": "Microsoft", "role": "actor" }
    ],
    "details": { "person_name": "Jeffrey Snover", "title": "Creator of PowerShell", "direction": "leaves" },
    "person_context": "Jeffrey Snover, Creator of PowerShell at Microsoft - the person this signal is about.",
    "parent_signal_id": "e0a3f1c2-58d1-5a44-b0d1-2f6c9be01a77",  // join key to the reddit-company record
    "topics": ["leadership", "powershell"],
    "products_mentioned": ["PowerShell"],
    "evidence": [ // verbatim - the exact comment that named him
      "[comment u/quantgorithm] Did you know that Microsoft demoted the creator of ps1 because of ps1? He was essentially pushed out and later went to google and is now retired. I'm so thankful for him. His name is Jeffrey Snover."
    ],
    "other_companies": [
      { "name": "Google", "role": "alternative", "domain": null }
    ],
    "source_url": "https://www.reddit.com/r/PowerShell/comments/1wirk99/microsoft_starts_twelvemonth_retirement_of/",
    "post_id": "1wirk99",
    "post_title": "Microsoft Starts Twelve-Month Retirement of Windows PowerShell Support for Graph SDK",
    "post_text": "…full thread body, up to 5,000 chars…",
    "post_kind": "multi_media",
    "subreddit": "PowerShell",
    "subreddit_url": "https://www.reddit.com/r/PowerShell/",
    "post_date": "2026-09-17T11:38:29.000Z", // the conversation's real timestamp
    "total_upvotes": 145,
    "total_comments": 83,
    "upvote_ratio": 0.98,
    "virality": "very_high",
    "comments": [ "…up to 20 top comments, same shape as the company page…" ],
    "comments_total": 83,
    "comments_included": 20,
    "nsfw": false,
    "content_warning": null
  },
  "_qa": {
    "validation_issues": [],
    "resolution": "resolved", // the COMPANY's resolution outcome
    "margin": null,
    "triage_interest": 0.85,
    "person_role": "actor", // actor | mentioned
    "person_resolution": "candidate", // person match outcome - gated on a verified LinkedIn hit
    "person_margin": null
  }
}

Field Reference

Core Fields

FieldTypeRequiredDescription
signal_idstring (UUID)Deterministic ID derived from (post, company, subtype, person). Stable across every delivery and re-run - use it as your primary key
batch_idstringGeneration batch timestamp (UTC) - when Autobound produced the record; can differ from detected_at on backfilled weeks
signal_typestringAlways "reddit-contact"
signal_subtypestringThe parent event's subtype when the person is its actor; "contactMentioned" otherwise. See the accordion above
signal_namestringAlways "Reddit Mention"
detected_atstring (ISO 8601)The delivery-timeline date (week-ending for weekly files). Use data.post_date for the conversation's real time
associationstringAlways "contact"
companyobjectThe person's employer as the thread frames it (falls back to the parent signal's company). Compare with contact.company_name_resolved for where the person is now
contactobjectThe resolved person (below) - never null on this type

Contact Object

FieldTypeRequiredDescription
full_namestringThe person's real full name as the thread discussed them. Always a full name - first-name-only mentions never ship
job_titlestring | nullThe person's current title per resolution; falls back to the title stated in the thread when resolution returns none
company_name_resolvedstring | nullThe person's current employer per resolution. This can legitimately differ from company.name: in the example the thread recalls Snover's Microsoft exit while resolution finds his current Harvard fellowship. Use it to catch "the exec you read about has already moved"
linkedin_urlstringVerified LinkedIn profile URL. Always present by contract - a person our resolver cannot match to LinkedIn at high confidence is dropped, never shipped with a guess
resolution_basisstringAlways "named_in_post": the person was explicitly named in the thread text. We never resolve Reddit usernames or handles to real identities

Data Object

The data object carries the parent signal's full context - every field documented on the company page (summary, stage, prominence, timing, evidence, thread and engagement fields, comments, nsfw, content_warning, …) - plus two contact-specific fields:

FieldTypeDescription
person_contextstringOne display-ready line placing the person: name, title, employer, and whether they are the signal's subject ("the person this signal is about") or named in the discussion. Built for dropping straight into a UI or an email research panel
parent_signal_idstring (UUID)The signal_id of the parent reddit-company record. Join on it to pull the company-side view of the same event - both IDs are deterministic, so the join is stable across deliveries

Quality Metadata (_qa)

Everything from the company page, plus three person fields:

FieldTypeDescription
person_rolestringactor (the signal is about them) or mentioned (they appear in it). Actors are the higher-value records
person_resolutionstringPerson-match outcome: resolved or candidate - both mean a verified LinkedIn hit passed the confidence-or-employer-corroboration gate; the label reflects the resolver's internal state, not shipping risk
person_marginnumber | nullThe person resolver's decision margin, when it reports one

Coverage

Contact records are the rare-but-precise tail of Reddit coverage. Most Reddit conversation is pseudonymous, so only threads that name real people produce them - typically a low single-digit percentage of weekly volume, concentrated in leadershipChange. Community coverage, cadence, deduplication, and the quality machinery are identical to Reddit Mentions (Company); contacts additionally pass the person-resolution gate on top of every company-side check.


Did this page help you?