Hi,
Pymods introduced "modules" which infer negative productivity with his Alien Life component.
Factorio does floor productivity Bonus at 0% Bonus. This, actually awesome mod, does incorporate the negative producity and throws off the numbers for affected buildings.
I managed to fix this by changing the line:
if entity.effects.productivity then
effects.productivity.bonus = entity.effects.productivity.bonus
end
to the following:
if entity.effects.productivity then
if (entity.effects.productivity.bonus < 0) then
effects.productivity.bonus = 0
else
effects.productivity.bonus = entity.effects.productivity.bonus
end
end
which works (apparently).