Orphex Lead Quality & CRM Feedback Review
A maturity-aligned lead-quality review with coverage, qualified/won economics, matching limits, and a feedback-path recommendation.
When to use
When low-cost leads need comparison with qualification and closed-won CRM outcomes.
Bring the right data
Use your own export, or start with the template. The fictional example shows the expected shape.
View the input columns
cohortRequired- Lead-created cohort and documented attribution scope
campaign_idRequired- Acquisition campaign under the supplied join rule
currencyRequired- ISO currency
spendRequired- Acquisition spend for this cohort scope
platform_leadsRequired- Deduplicated originating leads in the stated scope
matched_leadsRequired- Originating leads matched to CRM under the supplied identity rule
qualified_leadsRequired- Unique matched leads reaching the defined qualified stage
won_customersRequired- Unique matched leads reaching defined closed-won
won_revenueOptional- Defined revenue from matched closed-won records
observed_daysRequired- Available follow-up age; align before comparing stages
Add your business context
Supply your objectives, conversion definitions, currency, constraints, and approved brand facts once, then reuse the profile across reviews. Leave unknown values explicit.
See an example
Fictional data · an illustrative review, not a customer result.
Compare campaigns by lead quality and sales, preserving join coverage.
View the example result
Fictional example output
c1 is cheaper on raw leads ($10 versus $20), while c2 is better on the observed matched qualified and won outcomes.
| Campaign | Join coverage | Qualified / matched | Qualified / all origin leads | Cost / observed qualified | Cost / observed won |
|---|---|---|---|---|---|
| c1 | 80/100 = 80.00% | 24/80 = 30.00% | 24/100 = 24.00% | $41.67 | $125.00 |
| c2 | 45/50 = 90.00% | 27/45 = 60.00% | 27/50 = 54.00% | $37.04 | $111.11 |
The all-origin quality fractions are observed matched outcomes divided by the full origin cohort; they are not complete qualification rates because 20/5 leads are unmatched. Matched-only rates may be selection-biased. Equal 60-day follow-up supports this comparison, but no causal incrementality or complete true won rate is established.
Next: reconcile c1's weaker join coverage and stage definitions before a budget or bidding-goal proposal. Booked won revenue is $8,000/$9,000, not profit. No customer identities uploaded or conversion goals changed.
Before you start
Review the required context
- Supplied data with the documented task-specific columns, stable scope, and refresh/maturity context
- Business definitions and constraints relevant to the decision; see the reusable business-context reference
The method
Establish the cohort and join
Use lead-created or another explicitly supplied acquisition cohort, with campaign scope, spend, attribution rule, stage definitions, snapshot time, follow-up horizon, currency, and unique identity/count rules. Distinguish unique source leads from fractional platform attribution credits; the latter cannot be used as a person-matching denominator. Use aggregate evidence or authorized pseudonymous joins. Do not request raw emails, phone numbers, or upload identities just to run this analysis.
View SKILL.md
Orphex Lead Quality & CRM Feedback Review
Assess whether acquisition produces the business's defined qualified leads, opportunities, and customers. Analyze the supplied CRM evidence without converting unmatched outcomes into failures or successes.
Unequal coverage may distort a comparison, but it does not establish that any portion of an observed rate or cost gap is a coverage artifact. Do not describe the gap as partly driven by observing less of a cohort without actual missing-outcome evidence; all unmatched leads could have no qualifying outcome. State the possible bias and unknown contribution consistently. When applicable, show the full-cohort outcome bounds and the corresponding cost-per-outcome range from known versus maximally qualifying unmatched leads, rather than causally explaining the observed cost difference from coverage alone.
Establish the cohort and join
Use lead-created or another explicitly supplied acquisition cohort, with campaign scope, spend, attribution rule, stage definitions, snapshot time, follow-up horizon, currency, and unique identity/count rules. Distinguish unique source leads from fractional platform attribution credits; the latter cannot be used as a person-matching denominator. Use aggregate evidence or authorized pseudonymous joins. Do not request raw emails, phone numbers, or upload identities just to run this analysis.
Validate deduplication, one-to-many opportunity/customer relationships, reopened/lost statuses, and stage nesting. Calculate join coverage = unique matched origin leads / eligible unique origin leads. Then report qualified / matched, won / matched, and observed qualified or won / all origin leads separately. Unmatched leads have unknown downstream outcomes; matched-only rates can be selection-biased. Do not extrapolate their rate to the full cohort without an explicit supported missingness model.
Join coverage measures how much of the cohort is observed, not the direction or magnitude of selection bias. Do not claim that a coverage gap drives most of a quality difference without supporting evidence. Higher or equal coverage does not make missing outcomes ignorable or matched cohorts exchangeable, and no universal coverage cutoff establishes an actionable winner. After a revised join, recompute observed denominators, rates, and worst-case bounds for unmatched outcomes; recheck stage definitions and follow-up comparability. Scope any ranking to the exact metric: disjoint valid worst-case bounds can establish a full-cohort qualification-rate ordering without a missingness model, but not a cost, marginal-return, or budget winner. If those bounds overlap, keep that ordering unresolved unless additional evidence or a justified missingness model supports it; a maintained matched-only rate is not proof of cohort superiority.
Align cohorts by the same elapsed follow-up and stage snapshot, not only the same calendar week. Recent leads can remain unresolved. Use cohort acquisition spend for observed cost per qualified/won outcome; report incomplete coverage, delayed stages, and current snapshot effects. Closed-won value, recognized revenue, cash collected, and contribution are different metrics. Zero won counts give an unavailable cost per won, not zero.
Recommend a feedback improvement
Prioritize definition, identity, coverage, and import-lag gaps before shifting budget or bidding goals. If an offline/enhanced conversion path is requested, verify current consent, supported identifiers, deduplication, timestamps, goal mapping, and authorized write scope. Deliver the cohort table, observed economics, coverage/maturity limitations, and a bounded next reconciliation or experiment. A matched attribution relation is not causal acquisition lift.
Official reference
Portable inputs and examples
- Read the input contract when mapping a new export or checking the example's scope and definitions. Copy the header-only CSV template when preparing data; equivalent supplied exports remain acceptable.
- Read the reusable business context only for business facts or constraints this task needs. Reuse user-supplied facts with their source/date; the template contains no default targets.
- Inspect the complete fictional input with its example output when learning the output and calculation boundaries. Never use fictional values for a real account.
State whether the result is complete, partial, or blocked for the requested decision. Link material findings to actual supplied rows/sources and separate observed metrics, hypotheses, and estimates. Lead with a short business conclusion, then evidence, uncertainty, and the next measurable check. A data export or installed skill does not authorize account changes.
For the supported arithmetic only, optionally run the bundled calculator with Python 3: python3 scripts/marketing_math.py weighted-ratio < calculation.json. Read its input mapping in the input contract before preparing JSON. It reads JSON, not CSV directly. If Python or the requested method is unavailable, show a reproducible alternative calculation or mark it unsupported; do not report an uncomputed result as verified.
Source:View on GitHub Open SKILL.md