Thanks for the example. It is exactly like my comment. Look at your weights after the first period. Are they really 80% and 20%?

Lets say you have £100 to invest.
 - £80 is invested in product A. That turns into £81 after the first period and £79.38 ($81*(1-0.02)$) after the second period. Total return is $79.38/80 = -0.775 \% $
 - £20 is invested in product B -> 20.1 -> 20.25075: 1.25375\%

(after your first period, you have £101.1 and 81 as well as 20.1 respectively which is a "new" weight of 80.1187% and 19.8813%) 
 - Individually you earned (weighted by start value) $-0.775\% *0.8 + 1.25375\% *0.2 = -0.36925\%$
 - Total value is $79.38+20.25075 = 99.63075$ which results in a decline of $-0.36925\% $ from 100. 


You cannot simple use the same weights, as that is no longer true after the first period (any period). 

You can find some basics about rebalancing on [Investopedia](https://www.investopedia.com/articles/stocks/11/rebalancing-strategies.asp).

**Edit**

I don't know why you keep thinking your calculation is correct. You cannot compute it like you intend. You simple assume weights are identical across periods. That just does not work. The geometric mean computes an average return spread across all periods. You do not need to weight that every period. You simply know your start weight (which is same as start value if multiplied with total portfolio cash) and you spread the average across all periods (two here, which is why you need to compute $Start_{value}*(1+geom)^2$ for every asset). There is no need to use weights - the geometric mean is the $n_{th}$ root of $n$ products of the values over $n$ periods.
[![enter image description here][1]][1]
If you want portfolio total return at any period, you can use the logic in blue. It gives the weight at any period, and the sum of it divided by initial total portfolio is your return at any period. 


 [1]: https://i.sstatic.net/2S9Pl.png