I'm working on a statistics project that includes data for people who post a certain project online they need another to complete. Many people will apply to work on the project, but the poster will only choose one to complete it. There is a "back and forth" between the two parties until the project is completed. My job is to find all the projects that haven't been completed and to figure out whether they will ever be completed (ie the poster doesn't care about finishing the project, but it's still posted in the system - we want it gone).

I've started by analyzing the data for "completed" projects to later compare to "not yet completed" projects. There are areas such as "how long to post a project after signing up", "how long to get a first response to a project", "how many applications until the poster makes a selection," etc.

Here is a histogram of what each of the data columns looks like. Each seems to require a log transformation. (Ex: x is number of days to respond).


My main question is this:

Am I approaching this the correct way? Should I find the mean for and standard deviation for a variable such as "days to get a response" (from the "completed" data) and then if there's a value outside two standard deviations from the "not yet completed" data assume that project will not be completed?

Or should I group all the variables together and do a multivariate analysis and compare the Mahalanobis distance of the "not yet completed" group?

My problem with the multivariate approach, however, is that it's hard to think about the "ellipse around the data" (because it seems to be bounded by a square). Below is a plot variables against each other with their log transforms.


Or should I look at correlations?

Any help with how to approach would be much appreciated. Thanks.


2 Answers 2


This appears to be a variation on a classification problem. Given your data, you want to be able to classify projects as active (i.e. the poster cares about them) or inactive (i.e the poster doesn't care about them). Now if I understand your description correctly you have data on projects that have been completed (and you definitely know that they have been completed), and you have data on projects that have not been completed.

What you don't know is if the projects that have not been completed are active or inactive, and you want to be able to figure that out.

Immediately two possible approaches come to mind. The first is treating this as a standard classification problem with a latent (or unobserved) grouping. Personally, if I was pursuing this approach I would start by examining the distributions of the variables for your not yet completed projects, and see if there was any clustering. After I examined that, I would probably assign labels, and then just run a logistic regression. However, I think that a different approach might be a bit more fruitful.

This problem might be able to be treated as a survival analysis problem. I am much less familiar with survival analysis, so I can't tell you exactly what I would do. In a nutshell, survival analysis builds a model that describes the amount of time until an event (such as death), given other covariates. What you have here is a problem that is asking, can we predict which projects die (are completed), and which projects never die. It is a slight variation on classic survival analysis, seeing that one group never dies, but it might be something to look into. Here are a couple of links.


And of course the obligatory Wikipedia link. Hope that helps!


I'd expect substantial correlations between your predictor variables ("how long to post a project after signing up", "how long to get a first response to a project", "how many applications until the poster makes a selection," etc.) so you'll almost certainly get a better solution by using a multivariate approach.

You're having problems with an "ellipse around the data" because your predictor variables are not Normally distributed. Those you've mentioned are bounded by zero, some of them are counts. Taking logs has made the distributions a bit more symmetrical, but they're still not Normal. In your plot the data isn't bounded by a square, it's bounded by straight lines below (zero) but apparently tails off above.

"Ellipses around the data" are usually equiprobability contours. For a multivariate Normal they approximate ellipses, for other distributions they may not. The rigorous approach to your problem would be to fully define your multivariate non-Normal distribution and calculate equiprobability contours, but that is likely to be difficult and I'm not seriously recommending it.

A more practical approach would be to work with the empirical multivariate distribution function (the data) and a pragmatic way of defining a boundary. If you have lots of data and can categorise your projects (e.g. did or did not complete in a reasonable time) I'd consider a classification tree approach (rpart in R).

In that case I wouldn't start with a data set of "completed" projects - that excludes projects which did not complete, the ones you want to recognise! I'd use "projects posted over 'a long time' ago". Do remember to reserve a substantial part of your data as a test set; pragmatic categorisation algorithms can dangerously overfit their calibration sets.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.