Social Graph Ranker
Credit: Based on the original ECC skill.
Use a weighted graph to rank people who may help the user reach a target.
When to Use This Skill
Use this skill when the user asks:
- Who in my network can give the best intro?
- Which shared contacts can help me reach these people?
- How does my network match this target group?
- Can you show the math behind each bridge score?
- Should I ask for an intro or send a cold message?
Do not use this skill alone when the user needs:
- A full lead search and message plan. Use
lead-intelligence. - Help pruning, balancing, or growing a network. Use
connections-optimizer.
Inputs
Get these facts from the user or the data they provide:
- Target people, firms, or a clear ideal customer profile
- The user's X graph, LinkedIn graph, or both
- The user's direct contacts and shared followers
- Known links between contacts and targets
- Target needs, such as job role, field, place, reach, or reply chance
- Past replies or talks between the user and each contact
- The most hops to search
- Score settings, if the user wants custom values
Do not guess that two people know each other. Mark unknown links as unknown.
If key data is missing, ask for it. If only part of the graph is known, rank that part and state the limit.
Core Model
Let:
Tbe the set of targets.Mbe the user's direct contacts or shared followers.d(m,t)be the shortest known path from contactmto targett.w(t)be the weight of targett.
Use this base bridge score:
B(m) = Σ[t in T] w(t) × λ^(d(m,t) - 1)Use λ = 0.5 unless the user gives another value.
A direct path has full value. Each added hop cuts the value in half.
Use this score for useful second-degree links:
B_ext(m) = B(m) + α × Σ[m' in N(m) \ M] Σ[t in T] w(t) × λ^d(m',t)Where:
N(m) \ Mis the set of people known bymbut not by the user.αcuts the value of second-degree reach.- Use
α = 0.3unless the user gives another value.
Then add a relationship bonus:
R(m) = B_ext(m) × (1 + β × engagement(m))Where:
engagement(m)is a number from0to1.0means no known bond or reply history.1means a strong and active bond.- Use
β = 0.2unless the user gives another value.
Round shown scores to two decimal places. Keep full values while doing the math.
Target Weights
Give each target a weight from 0 to 1.
Base the weight on:
- Job role match
- Firm or field match
- Recent activity
- Place match
- Reach or trust
- Chance of a reply
State how each weight was set. If there is not enough data, use equal weights and say so.
Do not count the same fact twice. For example, do not score a job title once under role and again under reach unless the two facts are truly different.
Ranking Rules
Use these groups:
- Tier 1: High final score and a direct path. Ask for a warm intro.
- Tier 2: Medium score or one added hop. Ask if the contact knows the target well enough to help.
- Tier 3: Low score, a weak bond, or no known path. Send a direct message or fill the network gap.
Compare scores only within the same data set and score settings.
A high score does not prove that a person will make an intro. It only shows that the known path looks useful.
Edge Cases
Handle these cases:
- No known path: Give the contact no path value for that target.
- Unknown path length: Do not treat it as a real link.
- Duplicate people: Merge profiles only when they clearly belong to the same person.
- Duplicate paths: Count one path once.
- Several equal shortest paths: Note the extra path strength, but do not count the same target weight more than once in the base score.
- Contact is also a target: Mark it as a direct outreach case. Do not ask that person to introduce themselves.
- User is linked to the target: Treat the path as direct and suggest a direct warm message.
- Blocked or private profile: Mark the data as limited.
- Old reply history: Lower the engagement score and state why.
- Missing reply history: Use
engagement = 0, not a guessed value. - Mixed X and LinkedIn data: Keep each platform clear. Do not assume a link on one site exists on the other.
- Very large graph: Score direct contacts first. Expand only the best contacts to the second degree.
- Bad or hostile relationship: Exclude the contact, even if the graph score is high.
- Intro conflict: Flag cases where the contact works for a rival or may face a trust issue.
- Sensitive traits: Do not use race, faith, health, sex life, or other private traits as score inputs.
Steps
- List the targets.
- Set and explain each target weight.
- Clean duplicate people and links.
- Build the known graph for X, LinkedIn, or both.
- Find the shortest known paths.
- Compute each base bridge score.
- Expand the best contacts to the second degree.
- Add the engagement bonus.
- Rank contacts by final score.
- Check for weak data, conflicts, and unsafe intro asks.
- Return the best warm intro paths, weaker paths, and network gaps.
Concrete Example
The user wants to reach two people:
- Ana has weight
1.0. - Ben has weight
0.6.
Sam knows Ana at one hop and Ben at two hops. Use λ = 0.5.
B(Sam) = 1.0 × 0.5^(1 - 1) + 0.6 × 0.5^(2 - 1)
B(Sam) = 1.0 + 0.3
B(Sam) = 1.3Sam has no useful second-degree links, so:
B_ext(Sam) = 1.3Sam's engagement score is 0.5. Use β = 0.2.
R(Sam) = 1.3 × (1 + 0.2 × 0.5)
R(Sam) = 1.43Result: Sam is a strong bridge to Ana and a weaker bridge to Ben. Ask Sam for an intro to Ana first.
Output Format
Social Graph Ranking
====================
Target set:
Platform:
Data limits:
Score settings:
Target weights:
Top Bridges
- Contact:
Platform:
Base score:
Extended score:
Engagement:
Final score:
Best target:
Known path:
Why this ranks well:
Suggested action:
Possible Paths
- Contact:
Target:
Known path:
Added hop cost:
Risk or missing fact:
Suggested action:
No Warm Path
- Target:
Missing link:
Suggested action: Send a direct message or fill the network gap.
Notes
- Assumptions:
- Unknown data:
- People excluded:
- Score ties:For each top bridge, show enough math for the user to check the score.
Do not write or send an intro message unless the user asks.
Related Skills
lead-intelligenceuses this model in a wider lead and outreach plan.connections-optimizeruses the bridge rules to help decide who to keep, remove, or add.brand-voicehelps draft intro asks and direct messages.x-apican provide X graph data when access is allowed.