Method
The collection and decision method the research follows, as written in the project's method file, followed by the site's own rendering conventions.
HabitCalc collection and decision method
Version 1 · 20 October 2026
Purpose and boundaries
Help a buyer identify products with the required workflow, understand the cost at their scale, and see conditions affecting professional use. Begin with habits and routines. Nutrition, running, sleep, mindfulness and planning remain future categories; they are not part of this batch.
Keep personal and professional views separate. A product can qualify for both only when both workflows have evidence. Social sharing, family access, a team label or a generic export does not establish professional assignment and monitoring.
Do not score health outcomes, clinical efficacy or vendor trustworthiness from feature counts.
Scenarios
Personal
Five active habits; daily and non-daily schedules; reminders; progress history covering one year; an identified supported device. Evaluate a zero-budget option and the minimum paid configuration separately. Record which requirements are untested.
Professional
One practitioner assigns recurring habits, clients record completion, the practitioner reviews progress and provides feedback. The active-client count is adjustable from zero upward without a business-imposed maximum. Also support an explicit unlimited-plan requirement.
Distinguish active clients, archived clients, contacts, participants, seats, practitioners and locations. Preserve the vendor's billing unit. Do not equate all of them to “clients.”
Regulated professional
Apply the professional scenario to a specified jurisdiction, regulated role/activity and information flow. First edition: US HIPAA-covered activity and Ontario PHIPA-subject activity. This is not a global legal assessment.
Assess separately: data entry, hosting, messages, notifications, attachments, video, exports, integrations and AI features. Evidence covering one feature must not silently cover the others.
Data model
Each product has a stable ID, name, audience, source-backed capabilities, free-plan classification, offers, suitability findings and unresolved questions.
Each claim carries:
- Value, including explicit unknown.
- Status: documented, conditional, conflicting, unknown, or tested (only after actual testing).
- Source IDs and inspection date.
- Test flag; optional test record when tests exist.
Each source carries URL, title, inspection date, collection method, concise finding, optional short excerpt and whether an underlying snapshot was retained. Page publication dates are separate from inspection dates when known. Rebuilding does not update inspection dates.
Each offer carries:
- Plan name and eligible population.
- Finite or explicitly unlimited capacity.
- Practitioner count included.
- Billing amount and currency; null currency remains unconfirmed.
- Monthly bill and annual invoice as distinct facts.
- Conflicting published amounts as separate endpoints with sources.
- Evidence references.
For subsequent data expansion, use separate fields for required client charges, mandatory add-ons, setup fees, transaction charges, taxes, region, purchase channel, renewal rate, grandfathered pricing and minimum term. Unknown fields remain unknown, never default zero.
The present engine computes base subscription only. Additional practitioners, revenue-based costs and optional services require new validated offer rules before entering calculations.
Free-plan classification
Use permanent, restricted permanent, trial only, paid only, or not established.
Record habit/client caps, history limits, device restrictions, required purchases, eligibility, ads or data-use conditions, and whether the complete scenario fits.
Zero people is not an automatic zero-cost plan. A perpetual free plan is different from a trial or temporary promotion. A restricted free plan is included only when the user explicitly selects its eligibility category.
Never label a plan “free for this workflow” solely because account creation is free. This edition shows subscription-free availability separately from workflow and regulatory qualifications.
Pricing decisions
- Validate a nonnegative integer, or the distinct unlimited-plan request.
- Check eligibility and correct client-seat capacity.
- Select only offers with documented prices for the chosen billing cycle.
- Show the lowest captured qualifying amount, preserving conflicts. Identify an incomplete ladder rather than claiming a verified minimum.
- Show no inferred price beyond a published tier; use price not established or quote required.
- Require an explicit unlimited capacity to satisfy the unlimited option.
- Preserve original currency. Unknown currency is excluded from cross-vendor monetary ranking.
- Show annual invoices upfront. An equivalent monthly amount is secondary; multiplying a rounded advertised equivalent is not a verified invoice.
- Preserve free eligibility, workflow gaps and regulatory conditions beside the price.
All first-year figures are subscription-only, for an unchanged scenario and current documented rate; they are not guaranteed renewal prices or complete bills.
Suitability decisions
- Documented support: evidence addresses the published checklist for the specified scope. It remains an editorial assessment.
- Conditional: a documented route exists but requires agreements, settings, eligible plans or further scope checks.
- Not established: evidence is incomplete, inaccessible or conflicting.
- Not suitable for this use: an explicit vendor restriction or unmet necessary condition blocks the specified activity.
- Not assessed: outside the defined assessment, not an implicit pass.
Do not combine these into a numerical compliance score. A missing prerequisite cannot be offset by extra features or a security badge. Separate the quality of evidence from the suitability outcome.
For US HIPAA cloud use, inspect BAA availability and terms, included services, exclusions and customer duties. Use HHS to establish the rule and vendor material to establish the vendor claim. A vendor's explanation of the law is not an authoritative legal source.
For Ontario PHIPA, a marketing claim alone is insufficient. Record the claim and retain an unestablished assessment until relevant contractual and operational evidence is reviewed. Other jurisdictions require their own scoped criteria.
Collection process and hard stopping rule
Start with discovery leads, then official pricing, workflow documentation and contractual/security evidence. Capture each useful finding once. Reuse the source record; do not refetch unchanged pages to fill the same gap.
For future batches:
- Name the products and questions before starting; default at most six products.
- At most three new official pages per unresolved question and a 45-minute total research cap per batch, whichever comes first.
- A blocked page gets one alternative official source attempt. Do not cycle through mirrors or search variations indefinitely.
- A direct contradiction is recorded immediately. One dated official clarification may be inspected; if it does not resolve the conflict explicitly, preserve both claims.
- At the cap, stop research and package the evidence, calculator results and gaps.
- No automatic continuation, background research, account creation or vendor outreach.
- Reopen a gap only for a new supplied source, a vendor response, an approved account test, a detected material change, or an explicitly requested new batch.
Account tests use fictional clients and synthetic information. They test behavior, not legal compliance. Keep “vendor says” and “observed in test” separate.
Maintenance
On a requested review, prioritize prices, plan eligibility, agreements, product shutdowns and free-tier changes. Review changed evidence and update only the affected claims. A page change is a trigger for inspection, not automatic evidence of a price change.
Record previous and new values, source, reason and date for each material revision. Do not silently overwrite conflicts or reset all dates. No recurring automation has been created.
Validation gates
Reject publication-ready rankings when currency, workflow eligibility or complete comparable costs are unresolved. Check source references, capacity boundaries, zero, huge counts, unlimited, free eligibility, annual billing, trial exclusion and unknown prices. Public regulatory assessments require review of the method by a qualified privacy specialist.
The completed initial batch is a documented research foundation and calculator, not a claim that every vendor has passed these publication gates.
Second-batch clarification: subject-specific free entitlement
A free classification requires evidence that the actual habit-tracking workflow is permanently included for the selected capacity and eligible user. An account price of zero is insufficient. Store free accounts in the evidence, but exclude them from qualifying offers when the subject feature is paid or entitlement is unknown. Everfit Starter is excluded because Habit Coaching is on Pro; Practice Better Sprout is held out pending recurring-task entitlement confirmation. Do not interpret a limited free plan as satisfying a larger benchmark without evidence.
Use explicit dated before/after notices to resolve older price claims while preserving their provenance. Multiple store purchase listings without offer identity are ambiguous observations, not necessarily conflicting claims about one offer. Annual monthly equivalents remain separate from exact annual invoices. The reviewed second-batch data and current README supersede earlier examples where they differ.
The site's conventions
These are rendering rules on top of the method. They add no fact to a record.
- Minimum paid, year one (personal). The lowest documented year-one amount among the product's paid offers that count toward five habits: a one-time or lifetime purchase in full; an annual invoice as printed; a monthly bill as 12 bills; a weekly price as 52 bills; a quarterly bill as 4. Rounded “per month, billed annually” figures are never multiplied. Where several store rows print different amounts for the same period, the cell shows the range, says “store rows conflict”, and picks no winner. Where no period is printed, the amount stays out of the minimum.
- At N clients (professional). The lowest documented plan whose capacity covers the count on the chosen billing, computed by the same engine in the build and in the browser. Zero is a count, not a free plan. Unlimited is satisfied only by an explicitly unlimited plan. Above the published ladder nothing is extrapolated.
- Amounts. The ISO code first, then the number (“USD 69.99”). Where the vendor printed a bare “$”, the cell prints “$48” and “currency unconfirmed”, never USD.
- The middle amount (unconverted figures). A figure computed inside one currency does not use the word “median”: it prints “the middle amount among the N … printed in USD” for an odd count and “the two middle amounts among the N …” for an even count, both amounts as printed, with the range after it, because a median of an even count is conventionally the mean of two amounts, which is an amount no vendor printed. Amounts whose currency is not printed are counted, never pooled.
- Estimated in USD at the 21 Oct 2026 rate (converted figures). A median or mean across currencies is computed only over amounts that print a currency code, converted at the rate below, within one billing type and one scenario, and always carries the rate date, the count of records and the range; the median of an even count is the conventional midpoint, because every converted value is already an estimate. Amounts that print a bare “$” enter only a second, smaller figure worded “if every bare dollar sign is a US dollar”, shown beside the coded-only figure and never alone; with fewer than three coded amounts no estimate is given. A median describes the set; it does not rank vendors, and no product is called cheapest.
- The estimate line. Under a coded amount in a currency other than USD, a second line prints “≈ USD N, est. at the 21 Oct 2026 rate”. The rate is the Bank of Canada's indicative daily average exchange rate for 21 Oct 2026 (Canadian dollars per unit of the currency; file
boc-2026-10-21.jsonin the build, fetched once and replaced, never edited), and USD per unit is derived through CAD: CAD per unit divided by CAD per USD. Rates used: CAD 0.7114, EUR 1.1229, GBP 1.3393 USD per unit. The line is for reading only: it is never a sort key and never compares vendors. An uncoded amount gets no estimate, because there is nothing established to convert. - Sorting by price regroups a list into blocks by currency code; blocks never interleave. Amounts with no code and cells with no amount follow in name order.
- Named states print one way each; the glossary at What the cells mean gives the words, what they mean and a real example.
- Checked is the latest inspection date among the sources a record cites. Rebuilding the site changes no date.
- Evidence labels. “Vendor page”, “Vendor page (help centre)”, “Vendor blog”, “Store listing, US App Store” (the storefront from the URL), “Regulator page”, “Search result only, not an official page”, “Page not reachable on [date]”, “Vendor page, re-read”. “No copy saved” means no page copy was retained.
- What the site never says. It does not call any product the top choice, cheapest across vendors, recommended or a winner; it prints no grade; it does not adopt a vendor's own words about the law; it prints no converted amount except the marked estimate line under an amount and the labelled “estimated in USD at the [date] rate” figures over a set, which describe the set and rank nothing; and it says “documented”, never that a thing was observed working, because nothing was observed from inside an account.