I'm trying to produce a growth graph but I'm getting sine wave artefacts due to the way the data is compared (current 7 days / previous 7 days). I've drawn the red and yellow lines by hand by first connecting the mid point of each sine wave (red), then connecting those mid points (yellow).
Low data artificially inflates the data 7 days later, and high data artificially suppresses the data 7 days later, which is causing the sine-like effect.
I tried a Fourier analysis, but the wavelength in the data is not constant, so the results were undesirable. Also, I just realised that if it had worked, I'd get a large value in the middle of the graph and small values at either end, when what I want is a gradually rising graph.
What formula can I use to achieve a similar smoothing effect to the hand drawn lines?
This is a graph of the $log_2$ of the raw data and some smoothing. Note the wiggliness of the smoothed data. I'm basically trying to make it smoother without having to consider a wider range of dates per data point.


Probably a logarithmic function ? $log$$y$ $x$ strictly increases for $x, y > 1$ .
Plus, you may even try taking the derivative of the function used and adjust it. This is one of the methods used in machine learning (especially in linear regression) as a learning technique and this is called stochastic gradient descent. (Or did I speak foolishly ?)