Part of the reason for the large spike might be that your data are zero inflated, or cannot be negative. If I try to imagine constraining your posterior predictive to be positive and pile all the area in the negative numbers up at zero, it might look close to the spike in your data? An experiment might be to make this plot again, but clip negative values to zero (it’d be something like a poor man’s Tobit Regression). More formally, you could try using a distribution that respects the zero lower bound, or a mixture of two distributions, one that generates the body of small values, and one that generates the tail values.