Hugo uses Modified Dietz return to separate investment performance from your own deposits and withdrawals.
For one period:
net flow = deposits − withdrawals
gain = ending balance − starting balance − net flow
return = gain ÷ (starting balance + net flow ÷ 2)
Because Hugo records monthly totals rather than the exact day of every transfer, it assumes net flow arrived halfway through the period and gives it a 0.5 weight.
If the starting capital base plus half the flow is zero, the percentage return is undefined for that period. Hugo does not turn it into a false 0%.
For multi-period results, Hugo geometrically links usable returns:
(1 + r1) × (1 + r2) × … − 1
When accounts use different currencies, each dated balance, deposit, and withdrawal is converted into the display currency using the corresponding historical rate before aggregation.
Accurate results therefore require correct balances and external flows for every period.