Define the comparison before collecting prices

Start with the expected account balance, products held, contribution pattern and number of transactions. A platform that looks inexpensive for one pattern may cost more for another. The comparison should describe the intended use, not an imaginary customer who qualifies for every discount.

Use hypothetical numbers first to understand the calculation. Platform A charges $3 a month. Platform B charges 0.4% a year with no minimum. On a constant $1,000 balance, A costs $36 a year and B costs $4. On a constant $12,000 balance, A still costs $36 and B costs $48. These are invented fee structures, not current offers.

The equal-cost balance in this simplified case is $9,000, because $36 divided by 0.004 equals $9,000. That crossover applies only to these two charges and assumptions. It is not a reason to move an account without comparing the rest of the service.

Add the details that change the result

Now suppose B has a fictional $2 monthly minimum. Its annual platform charge on $1,000 becomes $24 rather than $4. The advertised percentage still matters at larger balances, but it does not describe the smaller account's actual minimum charge.

A cap, tier or excluded product can produce a different result again. Record whether a tiered rate applies only to the portion above a threshold or to the entire balance. Those methods are not equivalent. If the schedule is unclear, request an example using the intended account size.

Do the same for dealing charges. Twelve purchases at $1 each add $12, while a recurring-investment service might have another price. Include only discounts for which the intended activity qualifies. A free first year should have a separate later-year calculation rather than being treated as permanent.

Use a range when the balance will change

The constant-balance examples are deliberately simple. An account receiving regular contributions will not hold its final-year balance for the whole year. A rough comparison can use several balance scenarios, while a more detailed estimate can model each charging period under the provider's rules.

For instance, compare $1,000, $2,000 and $3,000 rather than pretending an uncertain future balance is exact. Show the assumptions next to each total. The goal is to see which conditions drive the result, not to create a precise-looking number from guesses.

Use a small comparison matrix

A useful table can have one row for the current balance and another for a plausible higher balance, with columns for platform charge, transactions, other applicable costs and total. Keep the investment-product cost in its own column if it differs between the choices. This prevents a cheaper platform line from hiding a more expensive product available through that platform.

Then change only one input at a time. Increase the number of purchases while holding the balance constant, or change the balance while keeping the activity fixed. This identifies the reason the ranking changes. Changing several assumptions simultaneously can produce a new winner without revealing which condition caused it.

If a service lacks a required feature, mark it clearly rather than assigning an arbitrary monetary penalty. A numerical total cannot compensate for an account that does not support the intended transaction or necessary records. The matrix should clarify the decision, not conceal a missing requirement behind a precise cost score.

Keep cost and service questions together

The SEC's fee guidance explains that costs can occur at both service and investment-product levels. Avoid double counting a product expense already reflected elsewhere, but do not omit it simply because the platform does not collect it as a separate bill.

Check the features actually needed: eligible investments, access restrictions, records, support and transfer arrangements. A comparison table can contain an unresolved-question column alongside costs. If an essential feature is unavailable, the cheapest total may not describe a usable option. Date the comparison and retain the relevant schedules, because the result belongs to those terms and assumptions rather than to the platform name forever.