Compare options and recommend one
Activated Cloud✓ Officialactivated/compare-options-and-recommend
Free · MIT
About
Compares options (software, suppliers, plans, venues, hires of a service, ways to solve a problem) with knock-out criteria, weighted scoring agreed up front, true total cost, evidence for every score, a sensitivity check and a clear recommendation with the runner-up and the conditions that would flip it. Use for which should we choose, compare these, or find me the best X for Y. Not for open-ended fact finding (see web-research-with-sources); never signs up, buys or commits without the owner.
Documentation
Compare options and recommend one
The owner wants a decision made easy: which option, why, what it really costs, and what could go wrong. This skill runs a disciplined comparison that a sceptical reader would accept. The standard: criteria and weights fixed before scoring, every score backed by evidence with a source, costs compared like for like over the same period, and a recommendation that says what it wins on, what it loses on, and when the runner-up would be better.
When to use
- "Which CRM / accounting tool / email platform should we use?"
- "Compare these three quotes."
- "Find the best venue / supplier / courier for X."
- "Should we build this ourselves or buy it?"
- "Pick a plan for us."
What you need
- The decision in one sentence, who decides, and by when.
- Must-haves (knock-outs) and nice-to-haves, from the owner. Budget ceiling. Constraints (country, data location, integrations with tools they already use, contract length, team size).
- Options: those the owner named plus any obvious ones you find (see
web-research-with-sources). - Access: official pricing pages and documentation are public; trials, demos and quotes need the owner's go-ahead because they create accounts or start sales contact.
Method
Write the decision statement. "Choose an accounting tool for a 6-person UK company, live by 1 Jan, under £1,000 a year, that integrates with our bank and Shopify."
Set criteria before looking at options in depth. Five to eight criteria that do not overlap, each measurable or at least describable. Typical families: fit to the job (features that matter for this owner), cost (total, over a fixed period), ease (setup, learning, admin time), risk (vendor stability, lock-in, data export, security and compliance), support and service, integration with the current tools.
Agree weights up front. Weights sum to 100. For a decision that matters (over about £1,000 a year, hard to reverse, or affecting customers), show the criteria and weights to the owner with
clarifyorshow_cardbefore scoring. Weights chosen after scoring tend to bend toward a favourite.Define the scoring scale for each criterion with anchors, so a 5 means the same thing for every option. Example for "integrations": 1 = none of our tools, 3 = most via a third-party connector, 5 = all native.
Long list, then knock-outs. Gather 5 to 10 options; drop any that fail a must-have (with the reason in one line). Short-list 3 to 5.
Gather evidence per cell. Official docs and pricing pages (with the date you checked), independent reviews, the owner's own experience, trials if approved. Write the evidence next to each score. Unknown is a valid entry: score it conservatively and flag it.
Work out total cost over the same period (usually 12 or 36 months): subscription x seats x months, setup or onboarding fees, migration effort (hours x a rate the owner agrees), add-ons needed to meet the must-haves, payment fees, price after any introductory discount, and exit costs. Prices change and vary by country: quote the page and date.
Score and total. Weighted score = sum of (weight x score) / 5, giving 0 to 100. Use the snippet below.
Sensitivity check. Move each weight by plus and minus 10 points (rebalancing the others) and re-rank. Swap every "unknown" between its worst and best plausible score. If the winner changes, say so: it is a close call that depends on X.
Recommend. One option, the reasons that decided it, what it is weaker at and why that matters less, the runner-up and when to choose it instead, the risks and how to reduce them (trial period, monthly billing first, data export test), and the next step. The owner decides; you never sign up, start a paid trial, sign or buy without their explicit yes.
Scoring snippet (execute_code)
import pandas as pd
weights = {"fit": 30, "total_cost": 25, "ease": 15, "integrations": 15, "risk": 15} # agreed with the owner
scores = pd.DataFrame({ # 1 to 5 with evidence in your notes
"Option A": {"fit": 4, "total_cost": 3, "ease": 4, "integrations": 5, "risk": 4},
"Option B": {"fit": 5, "total_cost": 2, "ease": 3, "integrations": 4, "risk": 4},
"Option C": {"fit": 3, "total_cost": 5, "ease": 5, "integrations": 2, "risk": 3},
}).T
w = pd.Series(weights)
def total(wt):
return (scores[wt.index] * wt).sum(axis=1) / wt.sum() * 100 / 5
base = total(w).round(1).sort_values(ascending=False)
print(base.to_string())
flips = []
for crit in w.index:
for delta in (-10, 10):
w2 = w.copy().astype(float)
w2[crit] = max(0, w2[crit] + delta)
others = [c for c in w.index if c != crit]
w2[others] = w2[others] * (100 - w2[crit]) / w2[others].sum()
ranked = total(w2).sort_values(ascending=False)
if ranked.index[0] != base.index[0]:
flips.append(f"{crit} {delta:+d}: {ranked.index[0]} wins")
print("Winner changes when:", flips or "no single weight change of 10 points")
Show the result with show_card (type table): options as rows, criteria and the weighted total as columns.
Output
A one-page comparison (template in references/comparison-memo-template.md):
- Recommendation in two sentences, with the decision needed and by when.
- Table: options x criteria (scores with one-line evidence), weighted total, 12-month or 36-month total cost.
- Why the winner wins; where it is weaker; runner-up and when to pick it.
- Sensitivity result; unknowns and how to close them (trial, reference call, quote).
- Sources with dates checked. Save it in the job folder; give the short version in chat.
Checks before you finish
- Must-haves applied first; every dropped option has a reason.
- Weights agreed or stated before scores; scale anchors written down.
- Every score has evidence; unknowns flagged, not guessed.
- Costs cover the same period, the same seats and the same features, with source and date.
- Sensitivity run; a close call is called a close call.
- No account, trial, purchase or commitment made without the owner's explicit approval.
Pitfalls
- Feature-count thinking. The option with the most ticks is rarely the best fit. Score what this owner needs.
- Comparing list prices of different bundles or billing periods. Normalise to the same scope and period, after discounts end.
- Double counting. "Ease of use" and "training time" measure the same thing; merge them.
- False precision. A 71.4 against 70.9 is a tie. Say so and decide on the deciding factor.
- Vendor marketing as evidence. Use it for what a product claims; confirm with documentation, independent reviews or a trial.
- Ignoring switching costs and lock-in: data export, contract terms, staff retraining.
- Recommending in regulated areas (financial products, legal services, insurance, medical) as if advice. Compare facts, and say a qualified adviser should confirm suitability.
See also: web-research-with-sources, write-structured-report (decision memo), make-clear-charts.
Versions
Listed from the source repository.
Reviews
No reviews yet. Be the first.
