Methodology · Rubric version 2026-07-06
How we score, published at the point value
Every provider gets two independent readings. The 0-10 score is weighted cost 25%, formulary 20%, clinical depth 20%, patient experience 20%, transparency 15%. Each dimension is scored out of 10 from a fixed list of sub-criteria with the point values published below, and a reputation modifier applies after weighting: an unanswered BBB F hard-caps the final score at 7.0, and the modifier floor is -3.0. The Transparency Grade, A to F, is a separate axis on five pass/fail disclosure checks and never feeds the score.
Affiliate status moves neither. 6 of the 16 providers pay us a commission, and the score leader, Alloy at 8.9, is not one of them. Current roster: 16 providers, 13 in the women's HRT wing, 5 in the men's TRT wing, scores from 6.5 to 8.9.
Why there are two numbers and not one
A single score collapses two questions that behave differently. "How good is this offer" and "how honest is this company before you pay" can move in opposite directions, and a provider can be strong on one while failing the other. Folding them together hides exactly the case a shopper needs to see. So the 0-10 score answers the first, the A to F Transparency Grade answers the second, and both are printed side by side on every ranking surface on this site.
The score has a transparency dimension worth 15%, which overlaps in subject matter with the letter grade and is computed independently of it. The grade is never an input to the score.
The five weighted dimensions, with every sub-criterion
Weighted score = cost x 0.25 + formulary x 0.20 + clinical depth x 0.20 + patient experience x 0.20 + transparency x 0.15. Each dimension is capped at 10 points and floored at 0, so a stack of penalties cannot drive a dimension negative and drag the weighted total below what the evidence supports.
Cost
weight 25%What does the cheapest realistic treatment path actually cost?
| Sub-criterion | Points |
|---|---|
| Entry price band: up to $50 / $51-100 / $101-150 / $151-250 / above $250 per month | 5 / 4 / 3 / 2 / 1 |
| Insurance accepted (visits and/or meds billable) | +2 |
| No consult/visit fee | +1 |
| All-inclusive pricing (stated fee covers meds + care) | +1 |
| HSA/FSA accepted | +1 |
| Headline price requires annual/multi-month prepay (anchor pricing) | -1 |
Banding uses the cheapest realistic treatment path, not marketing headlines: a $25/mo membership that requires $28+/mo of medication bands at the $53 combined floor; an insurance-first provider bands at typical copay.
Formulary
weight 20%How much of the category can this provider actually prescribe?
| Sub-criterion | Points |
|---|---|
| FDA-approved core medications offered | +2 |
| Compounded options available | +1 |
| 3+ delivery modalities (else 2 modalities +1) | +2 |
| Wing specialty option (women: testosterone/DHEA; men: fertility-preserving enclomiphene/HCG) | +2 |
| Non-hormonal options | +1 |
| Local-pharmacy fill possible (makes meds insurance-priceable) | +1 |
| Adjunct therapies (thyroid, sexual health, skincare, GLP-1s) | +1 |
Clinical depth
weight 20%How much medicine happens between the checkout page and the refill?
| Sub-criterion | Points |
|---|---|
| Specialist-led (menopause-certified / urologist-led / hormone-specialist clinicians) | +3 |
| Named clinician(s) with credentials (MD, DO, FACOG, MSCP, board certification) | +2 |
| Video visits available | +1 |
| Labs available | +1 |
| Baseline labs required before prescribing | +1 |
| Monitoring/retest cadence published | +1 |
| Guideline-conservative posture (screening gates, FDA-approved-first framing) | +1 |
Patient experience
weight 20%What do people who already paid say happened next?
| Sub-criterion | Points |
|---|---|
| Ongoing messaging with care team included | +2 |
| Fast onboarding (plan/Rx under 48h) | +1 |
| App or patient portal | +1 |
| Review base: 1,000+ relevant reviews +2 / 100+ +1 | +2 / +1 |
| Rating: 4.5+ scores +2 / 4.0 to 4.4 scores +1 (relevant-line reviews only) | +2 / +1 |
| Cancel anytime (stated, or per-visit model with nothing to cancel) | +1 |
| Corroborated complaint cluster (billing/cancellation/support) | -1 |
Transparency
weight 15%How much can you find out before you hand over an email address?
| Sub-criterion | Points |
|---|---|
| Pricing before intake: full +3 / partial (buried, anchored, or incomplete) +1 / hidden 0 | +3 / +1 / 0 |
| All-in cost computable from published info | +1 |
| Leadership/founders named | +1 |
| Clinicians named | +1 |
| Cancellation policy published | +1 |
| Corporate entity disclosed | +1 |
| Independent reviews accessible (Trustpilot/BBB/Google) | +1 |
| Site accessible to verification crawlers | +1 |
This dimension overlaps in subject matter with the A-F Transparency Grade and is computed independently of it. The grade is not an input to the score.
The reputation modifier, applied after weighting
Derived from the evidence file's reputation block and never hand-entered. It exists because a good offer from a company that stops answering its complaints is still a bad purchase.
| Condition | Effect |
|---|---|
| BBB F rating | Hard cap: final score cannot exceed 7.0. A provider that does not answer its BBB file does not get ranked as excellent. |
| Trustpilot below 3.0 (n of 25 or more, relevant-line reviews) | -1.0 |
| Trustpilot 3.0 to 3.4 (n of 25 or more, relevant) | -0.5 |
| Trustpilot 3.5 to 3.7 (n of 25 or more, relevant) | -0.25 |
| Corroborated fulfillment-failure pattern (non-delivery or refund complaints across sources) | -1.0 |
| Total modifier floor | -3.0 |
The BBB F cap is live on one provider right now: Maximus at 6.5. A capped provider can still fall below 7.0 on the weights alone, and the cap only ever pushes a score down.
Relevance gate. Platform-wide ratings that reflect other product lines set trustpilotRelevant: false. They earn no rating credit and no band penalty, and they display with a platform-wide-rating disclaimer instead. A telehealth company whose 4.6 comes from its hair-loss line does not get to spend that rating on its hormone line.
The Transparency Grade, A to F
Five pass/fail checks on what a provider discloses before intake:
- Pricing disclosed before intake (full pricing = pass; buried or anchored = half; gated = fail)
- Named clinicians with credentials
- Published cancellation policy (or per-visit structure with nothing to cancel)
- Corporate disclosure (founders, leadership, entity)
- Third-party review accessibility (an independent review base exists and is reachable)
| Grade | Standard | On this roster |
|---|---|---|
| A | Passes essentially all 5. Full pre-intake pricing is mandatory for an A. | 1 |
| B | Passes 4, or prices fully pre-intake with thin corporate or clinician disclosure. | 6 |
| C | Passes about 3. Pricing findable but buried, anchored, split across pages, or crawl-blocked. | 5 |
| D | Passes 2 or fewer. Pricing gated behind intake or a quiz, anchor pricing, or an unresolved billing-complaint pattern. | 4 |
| F | Core medication or service pricing fully hidden pre-intake AND at least one other criterion failed. | 0 |
The cap rule. An unanswered BBB F rating or a corroborated billing-surprise pattern caps the grade at D regardless of disclosure. Accountability is part of transparency: a company that publishes every price and then stops answering complaints has not told you the thing you most needed to know.
The Provisional flag and the [Verified] / [Reported] split
A provider is flagged Provisional in the evidence record, with no score change, when the relevant product line is under 6 months old, or when fewer than 25 relevant-line independent reviews exist. It flags a provider we do not yet have enough independent history on, and it changes no number. Currently on 8 of 16: Sesame Care, Hers Menopause, Wisp, Gala Health, Gennev, Inner Balance, MangoRx, Telos RX.
Every scoring-relevant fact carries a status. [Verified, with a month and year]means it was read directly from the provider's own site or official page during that pass. [Reported] means it came from a third party and counts as evidence only when several independent sources corroborate it. A [Reported] fact is never presented as verified.
Our verification crawlers cannot read 7 of the 16 providers, so their facts sit at [Reported] until a manual browser pass upgrades them: Winona, Hers Menopause, Gala Health, Inner Balance, PeterMD, MangoRx, Maximus. That list is read from the evidence file's own crawler-access flag at build time, so it cannot go stale in prose while the data says otherwise. Two different things put a provider on it, and they are not the same accusation: some sites answer an automated request with an error and some serve a page whose prices only appear once a browser runs the scripts. Either way we could not read the number, and saying which providers we could not read is part of the method. A comparison that quietly upgraded unreadable claims to verified would be selling confidence it did not have.
The integrity contract
What money can and cannot buy here
It cannot buy a score. Affiliate status and payout per conversion are excluded from all five dimensions, from the reputation modifier, and from the Transparency Grade. They are excluded from every objective ranking, which is sorted by score descending on the homepage table, the wing hubs, the cheapest pages and the comparison pages.
It can buy a placement, inside a bound.The promotional surfaces, meaning the top-pick card, the affiliate strip and the sticky bar, may feature a commercial partner. The bound: a partner qualifies for featuring at a score of 7.0 where a non-partner needs 7.5, the featured provider always shows its real score, it is labelled "Top Pick" and never "#1" or "highest-scored" unless it genuinely is both, and the actual score leader is named beside it. Live example on this site today: the featured pick is Winona at 8.4, a commercial partner, while the score leader is Alloy at 8.9, which earns us nothing. Both numbers are printed wherever the featured pick appears. The mechanics of that choice are set out at how we feature.
Corrections run against us. A correction ships the day it is confirmed even when it drops a paying partner in the rankings or adds a red flag to its review. The rule and the log are at corrections policy.
6 of 16 providers currently pay us: Winona, Sesame Care, Wisp, Gala Health, Telos RX and MangoRx. The full list with payout mechanics is on the affiliate disclosure.
Recompute any score yourself, including where we disagree with our own rubric
The rubric above is the whole rubric. The evidence behind it lives in src/data/scoring-evidence.json in this site's repository, one block per provider recording which sub-criteria the verification pass found met, with a note explaining each judgement. The arithmetic runs in scripts/recompute-scores.ts. 15 of the 16 providers carry a full evidence record. The one that does not yet: Elektra Health, added to the roster after the last full evidence pass.
Here is the part a competitor would leave out. The strict score the rubric produces is currently 1.6 to 5.6 points below the score we display. The reason is what the strict calculation counts. It credits only sub-criteria the evidence file records as directly confirmed, so anything we could not read counts as unmet. For the 7 providers our crawlers cannot read, that is most of the clinical and experience columns. The strict number is the floor of what we can prove about a provider rather than a verdict on it, and the displayed score is calibrated across the roster on the same evidence.
That gap is a debt and it is treated as one. Each provider's current gap is frozen in scripts/score-drift-baseline.json, and the enforcement script fails the build if any gap grows or if a provider outside that list drifts at all. Gaps may shrink. When a provider's evidence reaches verified status, its displayed score must equal its computed score exactly and any difference fails the build. Publishing the gap is how it gets paid down.
| Provider | Displayed | Evidence-only | Dimension points (cost / form / clin / exp / trans) | Modifier | Crawlable |
|---|---|---|---|---|---|
| AlloyHRT wing | 8.9 | 6.7 | 7 / 7 / 5 / 6 / 9 | none | yes |
| WinonaHRT wing | 8.4 | 4.9 | 6 / 6 / 0 / 7 / 5 | none | no |
| Midi HealthHRT wing | 7.7 | 6.1 | 5 / 7 / 6 / 6 / 7 | none | yes |
| Defy Medicalboth wings | 7.6 | 5.9 | 1 / 9 / 9 / 6 / 6 | none | yes |
| Sesame CareHRT wing | 7.6 | 5.8 | 5 / 9 / 5 / 2 / 9 | none | yes |
| Hone Healthboth wings | 7.5 | 4.7 | 5 / 8 / 3 / 4 / 3 | none | yes |
| Hers MenopauseHRT wing | 7.4 | 2.7 | 5 / 5 / 0 / 0 / 3 | none | no |
| WispHRT wing | 7.3 | 4.6 | 5 / 7 / 2 / 4 / 5 | none | yes |
| Gala HealthHRT wing | 7.2 | 2.8 | 6 / 4 / 0 / 1 / 2 | none | no |
| GennevHRT wing | 7.1 | 4.2 | 4 / 6 / 6 / 0 / 5 | none | yes |
| Inner BalanceHRT wing | 7.0 | 1.4 | 4 / 1 / 0 / 1 / 0 | none | no |
| PeterMDTRT wing | 7.0 | 3.7 | 6 / 5 / 2 / 5 / 5 | -1.00 | no |
| MangoRxTRT wing | 7.0 | 3.9 | 6 / 7 / 1 / 0 / 5 | none | no |
| Telos RXHRT wing | 6.9 | 2.5 | 3 / 4 / 2 / 1 / 2 | none | yes |
| MaximusTRT wing | 6.5 | 2.3 | 4 / 5 / 1 / 3 / 3 | -1.00 | no |
Dimension points are out of 10 each, before weighting. Modifier is the reputation adjustment applied after weighting. Every figure in this table is computed at build time from the evidence file, so it cannot disagree with the data it describes.
Worked example: the score leader, line by line
Alloy leads the roster at 8.9 and holds a Transparency Grade of A. It is not a commercial partner, so nothing about the placement below earns this site money. Here is the arithmetic.
| Dimension | Points /10 | Weight | Contribution |
|---|---|---|---|
| Cost | 7 | 25% | 1.75 |
| Formulary | 7 | 20% | 1.40 |
| Clinical depth | 5 | 20% | 1.00 |
| Patient experience | 6 | 20% | 1.20 |
| Transparency | 9 | 15% | 1.35 |
| Weighted base | 6.7 | ||
| Reputation modifier | none | ||
| Evidence-only score | 6.7 |
The displayed score is 8.9, which sits 2.2 above the evidence-only figure. Where the gap comes from is readable in the table: Alloy takes 9 of 10 on transparency, the roster ceiling, shared with 1 other provider, and loses most of its clinical points to criteria it does not offer at all, such as video visits and lab work. The calibration reflects that transparency standing across the peer set. The floor is what we can evidence, the displayed number is where it sits against the field, and both are printed here so you can judge the distance for yourself.
What the rubric currently produces
Derived at build time, so this paragraph updates when the data does.
Roster
16 providers scored. 13in the women's HRT wing, 5in the men's TRT wing. Providers serving both wings appear in both counts.
Scores run 6.5 to 8.9. Nothing on this roster is unrankable, and nothing on it is excellent across every dimension.
Transparency Grade spread
- A1 provider
- B6 providers
- C5 providers
- D4 providers
A grade absent from this list is a grade nobody currently holds.
The rankings these numbers produce are at best HRT providers for the women's wing and best online TRT clinics for the men's.
FAQ
Methodology questions, answered straight
How does HRT Picks score hormone therapy providers?
Two independent outputs per provider. First, a 0-10 score weighted across five dimensions: cost 25%, formulary 20%, clinical depth 20%, patient experience 20%, transparency 15%. Each dimension is scored 0-10 from a fixed list of sub-criteria with published point values, then multiplied by its weight. A reputation modifier applies after weighting: an unanswered BBB F rating hard-caps the final score at 7.0, Trustpilot bands subtract 0.25 to 1.0 at 25 or more relevant reviews, a corroborated fulfillment-failure pattern subtracts 1.0, and the modifier floor is -3.0. Second, a Transparency Grade from A to F on five pass/fail disclosure checks, which is a separate display axis and never an input to the 0-10 score. Affiliate status changes neither one.
Does paying HRT Picks improve a provider's score or ranking?
No. 6 of the 16 providers on the roster pay us a commission on a qualifying signup and it buys them nothing in the score or in any objective ranking, which stays sorted by score descending everywhere it appears. What commercial status can change is which partner gets featured on a promotional surface such as the top-pick card or the sticky bar, and only within a score-defensible bound: a partner needs 7.0 to be eligible for featuring where a non-partner needs 7.5, the featured provider always shows its real score, and the actual score leader is named beside it. The score leader on this roster is Alloy at 8.9, and Alloy pays us nothing.
What is the Transparency Grade and how is it different from the score?
The Transparency Grade is a separate A to F axis that answers one question: how much can you find out before you hand over an email address? It is graded on five pass/fail checks, which are pricing disclosed before intake, named clinicians with credentials, a published cancellation policy, corporate disclosure, and third-party review accessibility. An A requires full pre-intake pricing. An unanswered BBB F rating or a corroborated billing-surprise pattern caps the grade at D regardless of disclosure. Accountability is part of transparency: a company that publishes every price and then stops answering complaints has not told you the thing you most needed to know. The grade is displayed beside the score and is never a component of it. Current spread across 16 providers: 1 A, 6 B, 5 C, 4 D.
Can I recompute a provider's score myself?
Yes, and the table on this page shows the result when we do it. The rubric with every sub-criterion and point value is published above; the per-provider evidence is in src/data/scoring-evidence.json in the site's repository; the arithmetic runs in scripts/recompute-scores.ts. The strict computed score credits only criteria the evidence file records as directly confirmed, so a provider that blocks our verification crawlers computes low because unreadable criteria count as unmet. 15 of the 16 providers carry a full evidence record. Displayed scores currently sit 1.6 to 5.6 points above their strict computed value, that gap is frozen in scripts/score-drift-baseline.json, and the enforcement script refuses to let any provider's gap grow.
What makes a fact on this site Verified rather than Reported?
[Verified] means the fact was read directly from the provider's own site or official page during a verification pass, with the date attached. [Reported] means it came from a third party and counts as evidence only when multiple independent sources corroborate it. Our verification crawlers cannot read 7 of the 16 providers, either because the site refuses automated requests outright or because its pricing renders only in a browser, so their facts carry [Reported] until a manual browser pass upgrades them: Winona, Hers Menopause, Gala Health, Inner Balance, PeterMD, MangoRx and Maximus. We say so publicly rather than quietly presenting a third-party claim as a first-hand read.
The rest of the paperwork
- Editorial policy covers independence, the score firewall and conflict of interest.
- Affiliate disclosure names every provider that pays us and what a qualifying action is.
- How we feature sets out the promotional bound in detail, including the current featured pick and why.
- Corrections policy and the public changelog record what we got wrong and when we fixed it.
- About covers who researches and publishes this, and how to reach us.
This page describes an editorial method, not medical advice. Hormone therapy is a prescription treatment and the right product, route and dose is a decision for you and a licensed clinician. A high score here means a provider compares well on cost, formulary, clinical structure, patient experience and disclosure. It is not a clinical recommendation for any individual. Written and maintained by Iacob Pastina. Rubric version 2026-07-06.