heres the model. there is 16 periods in the date variable. is a noncentered approach possible with a random walk?
coords = {"server": servers, "returner": returners, "date": date}
with pm.Model(coords=coords) as model:
sigma_s = pm.HalfNormal('sigma_s', 1)
sigma_r = pm.HalfNormal('sigma_r', 1)
sigma_t_s = pm.HalfNormal('sigma_t_s', 1)
sigma_t_r = pm.HalfNormal('sigma_t_r', 1)
intercept = pm.Normal('intercept', 0, 1)
s = pm.GaussianRandomWalk('s', sigma=sigma_t_s, dims=("date", "server"), init_dist=pm.Normal.dist(0, sigma_s))
r = pm.GaussianRandomWalk('r', sigma=sigma_t_r, dims=("date", "returner"), init_dist=pm.Normal.dist(0, sigma_r))
p = pm.Deterministic('p', pm.math.invlogit(s[date_idx, server_idx] - r[date_idx, returner_idx] + intercept))
spw = pm.Binomial('spw', combined['sp_total'].values, p, observed=combined['sp_won'].values)
trace = pm.sample()