-1
$\begingroup$

I am monitoring user behavior, while the user interacts with a form on a website. That form has multiple textfields from top to bottom and at the bottom it has two buttons: "cancel" and "save". My ultimate goal is to find out/predict, whether the user is going to click on "cancel" and abandon the task due to some issues in the interaction with the form. Once l know that the possibility of abandonment is high,I would like to offer help to the user before that happesn.

I track the user's mouse data. I record mouse position (coordinates) every time the mouse moves and the timestamp in miliseconds.I do the same with every mouse click. Also the length of textfield inputs is saved. My raw data looks like this:

     Behavior type:    coord:       timestamp:     elementID:   inputlength:

1.   mouse movement    444,800      1568673543172   Notrelevant   Notrelevant 
2.   mouse movement    444,803      1568673543190   Notrelevant   Notrelevant
.       .                .               .              .             .
.       .                .               .              .             .
.       .                .               .              .             .
30.  mouse movement    400,100      1568673544000   Notrelevant   Notrelevant
31.  mouse click       400,100      1568673544070   Notrelevant   Notrelevant
32.  click on          Notrelevant  1568673544070   Activity      Notrelevant
33.  mouse movement    410,100      1568673605000   Notrelevant   Notrelevant
.       .                 .              .              .             .
.       .                 .              .              .             .
.       .                 .              .              .             .
121. mouse movement    512,600      1568673605500   Notrelevant   Notrelevant
122. click away        Notrelevant  1568673605700   Activity      2
123. mouse click       512,600      1568673605700   Notrelevant   Notrelevant
124. click on          Notrelevant  1568673545700   Cancel        Notrelevant

The above data tells me, in line 1: where and and when the cursor was at the beggining. In line 30 cursor stopped moving.Line 32: user clicked on an element.The last four lines indicate that the user has typed in a string of length 2 in this element, moved the cursor and clicked at the coordinate 512,600 which was on the "cancel" button.

I'm looking for anomalies in user behaviour, which could hint at a possible cancelling of the task. An anomaly could manifest itself in various ways: a super long or a super short input in a textfield or super long pauses after each mouse click on an element or even an unusual order at which the user goes through form, instead of top to bottom as intended. So the anomaly in behaviour could be anything. I know its very vague. I don't know how to describe it more concretely. And l dont know where to start. Was hoping someone could push me in the right direction.

Oh and this: Cases, where the user has clicked on "cancel" due to technical problems or lack of interest have been ruled out.

$\endgroup$
4
  • $\begingroup$ As it stands now the question is too abstract. Can you reformulate it and tell us what data you actually have. $\endgroup$ Commented Sep 18, 2019 at 12:44
  • $\begingroup$ @user2974951 thank you. I am a newbie as you can tell. I ve edited my question. Hope it's a bit more clear now. $\endgroup$
    – artre
    Commented Sep 18, 2019 at 14:42
  • $\begingroup$ @user2974951 , hi. l got one answer already but would love to hear about what you've got to say for a second opinion.. would really apprecate.. thanks mate.. $\endgroup$
    – artre
    Commented Sep 19, 2019 at 23:05
  • $\begingroup$ How many people canceled in total? What is the proportion? Is this something that you could try figuring out with simple plots? Otherwise you may have to find some patterns algorithmically for the canceled class - pattern mining. $\endgroup$ Commented Sep 27, 2019 at 11:29

1 Answer 1

0
$\begingroup$

First of all, you need to adjust your usage of some terms. For instance, your problem does not look like an anomaly detection problem because anomaly stands for rare events and abandon a form is not a rare event most of the time. Second is that just because your data is time-based your problem not necessarily turns into a time series modeling problem i.e you're not trying to predict when a user will do something.

Your have a classification/discrimination problem. It could be the case that is somehow imbalanced (80% abandon vs 20% completion) but again not anomaly detection.

Before modeling, you need to do some EDA on your data. So first question: what is the completion rate? if you aggregate positive examples and negative examples what is the distribution of your categorical features or the average (and std) of the time spent (max timestamp - min timestamp)?. Some univariate analysis could help you to understand better how descriptive your features are to detect completion (or abandonment).

After this initial stage then you can easily sketch a classifier with scikit-learn or similar but that would require some feature engineering especially because you have continuous and categorical features as well as coordinates which you need to handle somehow if they help you to identify your label.

Overall you need to structure more your approach but don't worry we're all been there.

$\endgroup$
2
  • $\begingroup$ thanks! There are somethings l don't quite understand though. My use of the the term "anomaly" might be incorrect. When I used that word, I was not referring to the abandonment of the task but rather what happens before the abandonment or the behaviour that leads to abandonment. Also, l'm trying to predict, whether the user is going to click on cancel button based on his previous behaviour. Dont you think thats a prediction problem? $\endgroup$
    – artre
    Commented Sep 18, 2019 at 20:13
  • $\begingroup$ Regression (i.e predict rent price given apartment features), classification (given this data will the customer finish the form? yes or no) or even clustering can all be seen as prediction problems. The other important aspect is that predict if the user will abandon a form won't answer why but it might give some clues like "the customer spent many seconds with focus on some text area but did not typed anything" which could be an evidence (just an example) that this textarea is a difficult question or something that desengages. $\endgroup$ Commented Sep 19, 2019 at 8:25

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.