anchor.diff:      Series = lists:flatten(SeriesLst),
       {_Start, _End, Step} = normalize_stats(Series),
       % TODO: properly handle start/stop
  +    % TODO: this is sufficient for now as most of the time start/end are the same over all series
       lists:map(fun(S) -> consolidate(S, Step div S#series.step) end, Series).
   
   
  
positive.code:     pseudo_series(Values, 10).
  
  pseudo_series(Values, Step) ->
      Target = <<"target">>,
      Start = 100,
      End = length(Values) * Step + Start,
      #series{target=Target,values=pseudo_values(Values, Step),start=Start,until=End,step=Step}.
  
  derivative_test_() ->
      [?_assertEqual([], derivative([])),
  
negative.code:     end.
  
  
  consolidate(Series, ValuesPP) when ValuesPP =< 1 -> Series;
  consolidate(Series, ValuesPP) ->
      Aggregate = Series#series.aggregation,
      Values = consolidate_values(Series#series.values, ValuesPP, Aggregate),
      Step = Series#series.step * ValuesPP,
      Series#series{values=Values,step=Step}.
  