So in essence (if I understand correctly), you want to predict a customer "not being active" within a week versus "being active"?! So you have a binary problem. The choice of method depends on your data. But a good start might be, for instance, catboost, a gradient boosting tool. I have good experiance with it.
With the CB classifier, you can specify
class_weights, which might help to cope with unbalanced classes.
See also: https://stackoverflow.com/a/45708903/9524424
Here is a Python tutorial: https://github.com/catboost/tutorials/blob/master/python_tutorial.ipynb
Regarding the "non-independent" aspect: Do you mean that the SAME customer can fall in both classes at different points in time? Maybe this is not too much of a problem as long as something changes in the X variables (the ones used for prediction). Time certainly changes, right? So you might include time, e.g. as a factor (or dummy) variable. Often this works well with gradient boosting. Maybe (just an idea) you could also add a customer ID in addition to time, in order to try to control for each individual customer or (similar) groups of customers.
Alternative methods/tools would be lightgbm, logistic regression (with regulation), or even neuronal networks (e.g. Keras/tensorflow based). Time can also be included as count or dummy in logistic regression. In neuronal networks, dealing with time often is a bit complicated. To say more about it, one ultimately need to see the data in detail (number of X variables/columns, number of observations etc).