Sample posterior predictive returning zero values

Hello, I am building MMM from scratch with pymc. I have sampled the model and the next part would be to calculate the Return of a channel by setting the value of a data to zero and drawing new samples.

y_channel_return = y_posterior - y|(channel_x = 0)

I have trained a model with data.

sampling_data = pm.sample(

                target_accept = 0.9,

                draws = 1000,

                chains = 4,

                nuts_sampler='numpyro',

                random_seed=rng,

                idata_kwargs= {'log_likelihood': True}

            )

Now, when I try to get new sales with condition channel=0, my predictions are all nan values. In this example, I try to estimate the predicted sales when we have no promotions:

        with model:

            pm.set_data({'promos_data': promos_zeros})

            posterior_predictive_loo = pm.sample_posterior_predictive(

                trace=sampling_data,

                predictions=True

            )

Any idea why this does not work? I have tried to debug this. If I do not change any values, and set the promos_zeros to be a copy of original values, it gives me predictions just fine. If I try to actually change the values in the model, It will produce the Nans regardless of values i have in promos_zeros.

<xarray.Dataset> Size: 10MB
Dimensions: (chain: 4, draw: 2000, weeks: 156)
Coordinates:
* chain (chain) int64 32B 0 1 2 3
* draw (draw) int64 16kB 0 1 2 3 4 5 6 ... 1994 1995 1996 1997 1998 1999
* weeks (weeks) int64 1kB 0 1 2 3 4 5 6 7 ... 149 150 151 152 153 154 155
Data variables:
y (chain, draw, weeks) float64 10MB nan nan nan nan ... nan nan nan
Attributes:
created_at: 2025-12-09T10:58:59.157048+00:00
arviz_version: 0.22.0
inference_library: pymc
inference_library_version: 5.25.1
I also checked that the data values are updated accordingly in
model.data_vars and that the data in promos is same shape ‘weeks’.
Any help regarding this would be much appreciated!

Found a solution. I had NaN-values in elements of my MMM contributions due to result manipulation( We want to de-adstock the values to match contributions with certain efforts). These NaN-values were in the inferencedata, which was given to the model as sampling_data.