Suppose I have a matrix that looks like this:
$$X = \begin{bmatrix}1 & 1 & 1 & 1 \\ 1 & 0 & 0 & 0 \\ 1 & 1 & 0 & 0 \\ 1 & 1 & 1 & 0\end{bmatrix}$$
The dimensions of this matrix are $(\mathit{user}, \mathit{day})$ where day is a binary observation if the user showed up on a website or not. Next I find the column mean of $X$.
$$\mathit{colMean}(X) = (1, 0.75, 0.5, 0.25)$$
I am reading through some code that was written in python in which the $\mathit{colMean}(X)$ is subtracted from each row of $X$.
$$X-colMean(X) = \begin{bmatrix}0 & 0.25 & 0.5 & 0.75 \\ 0 & -0.75 & -0.5 & -0.25 \\ 0 & 0.25 & -0.5 & -0.25 \\ 0 & 0.25 & 0.5 & -0.25\end{bmatrix}$$
My question is that given $X$ is a binary representation of whether we see $\mathit{user}_n$ on $\mathit{day}_n$ and the $\mathit{colMean}(X)$ is the probability of users showing up that day. What does $X-\mathit{colMean}(X)$ represent? Can this be seen as the probability a user does NOT show up?
This is just a standardization of the data. Substracting the sample mean is equivalent to changing the origin; the distribution mean is translated at $x = 0$ of whatever frame you're using.
Since the expected mean $E[X]$ is linear, you can easily see that your standardized distribution has a mean equal to zero.
There are two main advantages in standardizing data (note that usually, we also normalize the sample by deviding it by its standard deviation);
Doing so therefore leads to easier comparisons with other observations.