How do I make counterfactual forecasts with do-calculus (Bayesian causality)? I've been doing a lot of research into Pearl's do-calculus, particularly this paper http://ftp.cs.ucla.edu/pub/stat_ser/r350.pdf. I definitely understand the difference between P(y | x0) and P(y | do(x0)), and why it is important (both philosophically and mathematically) to close off the back-door paths from x to y, but it seems most of the work I can find is interested in general distributions like P(y|do(x0)), rather than predictions for specific examples (which, at least to me, is the FAR more interesting question). For example, given the causal diagram:

Pearl derives equation 23:
$$
P(y|do(x_0)) = \sum_{z_1,z_3} {P(z_1)P(z_3|z_1)P(y|z_1,z_3,x_0)}
$$
However, I would be more interested in something like:
$$
P(y|do(x_0),z_1,z_2,z_3)
$$
That is to say, the probability distribution of variable y given known values for z1, z2 and z3 and performing the manual intervention x=x0. Is there a way to solve for this with a dataset of z1, z2, z3, x and y values and the mathematics of do-calculus? It kind of looks like the counterfactual analysis that leads to equation 54 is doing something similar to this, but again we are back to general equations across the full distributions of z values.
(I should note that I am a data scientist with very little statistical background, especially with Bayesian mathematics, so maybe this is really obvious)

Having read further into the topic, this is addressed in equation 3.11 and section 3.5 of Causal Inference in Statistics, a Primer. In essence, you can simply add conditionals to the probability do- equation on both sides, with the caveat that if a conditional is on a collider, you might open up new backdoor paths that need to be closed by expanding the list of variables in the blocking set. But the equation is:
$$P(Y=y|do(X=x),Z=z) = \sum_{S} {P(Y=y|X=x,S=s,Z=z)P(S=s|Z=z)}$$
Where S is a set of variables such that S u Z blocks all backdoor paths between X and Y, including any that are opened by conditioning on Z.
