Two honest numbers can disagree. The app shows both and labels them, because each answers a different question.
- Raw change is simply end value minus start value. It includes your deposits and withdrawals. Add $10,000 and the chart rises $10,000 without earning a cent. It answers "how did my balance move?"
- TWR (time-weighted return) strips those flows out by chaining daily returns, each computed net of that day's external cash flow. It answers "how did my investments perform?" This is the number you can fairly compare to a benchmark.
What TWR leaves out and what it doesn't
TWR runs on the security book: the settlement-cash ledger is left out of both the value it measures and the flows it strips. Broker CSVs record your trades but usually not the deposits that funded them, so a complete cash ledger often can't be reconstructed. A wrong cash flow poisons every chained daily return after it. Leaving settlement cash out keeps TWR robust to partial-history imports.
That exclusion is narrower than it sounds. A money-market sweep fund (FDRXX, SPAXX and the like) is an ordinary priced holding, so on a swept account most of your core cash sits inside the TWR: its interest counts as return, and a large idle balance pulls the number toward cash rates. Only the settlement pocket itself stays outside.
Your broker's "personal rate of return" is usually money-weighted (IRR), which rewards or punishes the timing of your deposits. TWR doesn't. Neither is wrong. They answer different questions, and comparing one to the other will always look like an error when it isn't.
The account's return table
An account's Performance tab puts this same distinction on screen twice: its chart's Value mode still traces raw balance change, deposits included, while the table underneath is always TWR. That table reads 1M · 3M · YTD · 1Y · 3Y ann. · 5Y ann. · Since inception · Annualized, one time-weighted return per column, never a value change. 3Y and 5Y are annualized and show an em dash rather than a number until the account's own history reaches back that far: annualizing a shorter window would put a number under a label that claims more years than the account has lived. The other trailing windows fall back to measuring since inception when the account is younger than they are. Since inception and Annualized are the engine's own figures, carried through unchanged rather than re-derived from the chart.