The formula
support = { full: 1.0, partial: 0.5, addon: 0.25, none: 0 }
fit(t,u) = Σ ( weight[cap] × support[t,cap] ) / Σ weight[cap]
cost(t) = cheapest monthly-equivalent plan satisfying u.required
value(t,u) = fit(t,u) / log₁₀( cost(t) + 10 )
rank = value desc → facts_verified_on desc → slug asc Support values
- Full support1
- Partial support0.5
- Available as an add-on0.25
- Not supported0
Each use case assigns weights to capabilities. Fit is the weighted share of those capabilities a tool supports.
Cost is its cheapest plan expressed per month (annual prices divided by 12, one-time purchases spread over
36 months). A tool missing a required capability is excluded, not ranked low. The
log₁₀(cost + 10) denominator gives free and cheap tools a real advantage without letting a free tool with weak
coverage beat a strong paid one. Ties go to the most recently verified tool, then alphabetical order.
What keeps a tool off ranked pages
Excluded tools keep their own page, which says why.
Unpublished or deprecated
It is not published yet, or it has been marked deprecated.
Unreadable pricing
Its pricing page failed to parse 3 times in a row.
Stale capabilities
Any capability cell was last verified more than 120 days ago.
Where the data comes from
Every capability cell links the page that evidences it and the date it was checked. Prices are read daily from vendors' pricing pages. A change of more than 1% is held for confirmation and is never published automatically; unconfirmed changes expire after 14 days. Being a day late about a price is better than being wrong about one.
Which pages exist
A comparison page exists only when both tools are published, both have at least 60 days of price history, and they are in the same category, with at most 200 comparisons and 900 pages in total. Every build measures how much of each page is shared with its closest siblings; a page that is mostly shared text is withheld.