Hi Bastian,
The (400, 41) shape is a bug in PyMC3 (see this github issue for details), it should be (400, 1) when using X_new. As explained in the issue, if X_new were of shape (2,4) then the bug should not be triggered and the posterior predictive shape be (400, 2)