When running a logit/probit model for particular sets of outcomes on a set of participants (whether they did a certain behavior at least two times), how can one best control for differences when the individual observations began? In particular, one person may have started to participate 3 years ago, whereas another person may have joined just last year. I'm using STATA for the analysis and do know when the individuals began observations. Related to this question, what is the most effective way to refine the functional form of a the model?
As I understand your question, you have a cohort study where participants were followed up for a variable period of time. You are interested in the association of unspecified exposures with an outcome. The outcome is cumulative number of purchases made by participants. Your concern is that some participants will have higher outcomes simply because they participated in the study for a longer period of time than other participants.
For a brief background on why count data is modelled with Poisson regression, see this discussion on CrossValidated.
Important assumption: An important assumption of Poisson regression is that the mean of the outcome is equal to the variance of the outcome. When this is not the case, related regression models such as the quasi-binomial or the negative binomial may be better. Also, sometimes outcome data may have many observations with a value of 0 (e.g. many participants made no purchases), which would not be predicted by a Poisson distribution. The negative-binomial, hurdle, and zero-inflated models may be better in that case. A recent overview of overdispersion and excess zeroes in Poisson models (albeit with a focus on the R language) is Regression Models for Count Data in R by Achim Zeileis and colleagues.
UCLA's Advanced Technology Services website offers some good examples of Poisson regression in Stata.
Accounting for time
Regarding your specific question about including time in your analysis, a nice feature of Poisson regression is that you can include an offset. The offset in your data would be a measurement of your participants' duration in the program. For example, if the first three subjects participated for 20, 10, and 30 days, the offset would be "log(20, 10, 30)". The offset allows your outcome to be modelled as a rate (the probability of purchase per unit time). This CrossValidated discussion on offsets offers a concise summary.
Additionally, you might consider whether time trends could effect your outcome. For example, perhaps participants participating in earlier years were more likely to make purchases than participants participating in later years. Perhaps participants participating in the winter were more likely to make purchases than participants participating in the summer.