STUD
← Plays

Find · Find & Gather · Analysis & Finance

Best co-selling rep pairs with a partner

The short ranked list of your-rep-to-partner-rep pairs who share the most open accounts, so you set up the few high-yield co-selling calls.

You receive: A reviewed rep-pairing calculator + the passing test report, run on your two rosters.

Part of Grow Partnerships

What's verified: STUD verifies the rep-pairing calculator against a held-out reference: for every pair of your rep and a partner rep it computes the deduped set of account ids they share (exact match after trimming whitespace, rows missing an owner or an account id skipped), keeps only pairs with at least one shared account, ranks by shared count descending with ties broken alphabetically by your rep then the partner rep, and truncates to your top_n (0 returns all pairs). STUD does not verify that your roster exports are complete or current, does not fuzzy-match account ids that differ in spelling or casing, and does not judge whether a high-overlap pair is actually a good co-selling call.

Opens soon

Cost20 credits
ProtectionHeld until verified delivery

This play is verified and ready. It opens soon, once sign-in and payments are live.

Example

A sample of what this play produces. Your result is generated for your inputs.

def find_best_coselling_pairs(inp):
    your_rows = inp.get("your_rows") or []
    partner_rows = inp.get("partner_rows") or []
    yof = str(inp.get("your_owner_field", "owner") or "owner")
    pof = str(inp.get("partner_owner_field", "owner") or "owner")
    af = str(inp.get("account_field", "account_id") or "account_id")

    def build(rows, owner_field):
        m = {}
        for r in rows:
            owner = str(r.get(owner_field, "")).strip()
            acct = str(r.get(af, "")).strip()
            if owner == "" or acct == "":
                continue
            m.setdefault(owner, set()).add(acct)
        return m

    mine = build(your_rows, yof)
    partner = build(partner_rows, pof)

    pairs = []
    for your_rep, your_accounts in mine.items():
        for partner_rep, partner_accounts in partner.items():
            shared = sorted(your_accounts & partner_accounts)
            if shared:
                pairs.append({
                    "your_rep": your_rep,
                    "partner_rep": partner_rep,
                    "shared_count": len(shared),
                    "shared_accounts": shared,
                })

    pairs.sort(key=lambda p: (-p["shared_count"], p["your_rep"], p["partner_rep"]))

    top_n = int(inp.get("top_n", 10) or 0)
    return pairs if top_n <= 0 else pairs[:top_n]

Get early access to STUD the day it goes live.