How to do preprocessing for zero inflated variable in multiple regression? I am trying to build a multiple regression model, and many of my variables looks like this (histogram for time spent in the system).

The reason I had such data is because zero is actually represents another business case: customer created the account but never used it.
How should I user this types of the variables in a regression model? I have some ideas to do the preprocessing, are they valid? what else can we do?


*

*Idea 1, replace zero with median value of non-zero ones.

*Idea 2, create another indicator column on zero values, then replace zero with median value of non-zero ones.

 A: To take these zeroes and convert them to the median would create a false sense of certainty that would bias your results.  I would assume that if these customers had nonzero values, the values would take on a range.  That's one reason why multiple imputation has become so popular:  it preserves some uncertainty, variability, in the imputed values while using all available information to assign them as plausibly as possible.  So rather than proceeding as you suggest, I would use multiple imputation as one approach.  
A second approach would be censored regression, as described in the growing number of threads that you can find via a Google search or a search on this site.  I found this page helpful.  (Though it may be less helpful if all your zero-inflated variables are predictors.)
In either case I like your idea of including a binary column to indicate zero/nonzero.
EDIT:  for some good introductions to multiple imputation, see the articles by Melissa Azur et al. (2011); John W. Graham (2009); and Jeffrey C. Wayman (2003). 
