My dataset is a log of phone calls. Each row represents a customer interaction with attributes such as customer age, customer job, and interaction outcome ('buy' vs 'no buy'). EDIT: the interaction outcome is what I would like to predict with any binary classification algo.

Here's the problem: I have no way to retrieve a customer ID and I am told the dataset definitely contains rows that are related to the same customer (i.e. someone who called twice or more). I just have no idea to find out which rows because I have no customer ID.

I do have a timestamp value (day-month-year), and a flag attribute telling me if the customer is calling for the first time or not.

So I am wondering: if I apply any binary classification learner without making any arrangements for this peculiarity, won't I have a prediction that may overrepresent certain customer types and therefore certain outcomes based on the fact that some are having more than one interaction? I would presume that is a bad thing right?

Having no way of assigning a customer ID to calls indicating that this is not the first time the caller is being contacted, am I not better off just dropping rows where the customer is not new?

EDIT: this is the full description of the dataset I am using: https://archive.ics.uci.edu/ml/datasets/bank+marketing I created the 'first time customer contact' flag myself deriving it from the 'campaign' field which shows the number of calls with the customer up to that point.

I also created the timestamp field my self by cross matching the euribor3m field (which changes on a daily basis) with a third party datasource.

  • 1
    $\begingroup$ What other customer related information is available? For example, it would be unlikely to have customers with the same age (birthday), job, location and gender. You could making some pseudo IDs. Also, do all customers have to have a "first call" flag or they are cases of people who have called before but you do not have that info? How big is the "first callers" proportion compared to the whole sample? (+1, fun question) $\endgroup$ – usεr11852 Mar 31 '19 at 19:04
  • $\begingroup$ Thank you for your response. I do have more customer fields including gender. This is the dataset I am using: archive.ics.uci.edu/ml/datasets/bank+marketing. However, I don't have enough customer attribute unique combinations to produce a pseudo id. I actually generated the 'first time contact' flag myself with the 'campaign' field which technically shows the number of times the customer has been contacted in the current marketing campaign. $\endgroup$ – Odisseo Mar 31 '19 at 19:10
  • 1
    $\begingroup$ OK, so that's something, you can at least model the repeated calls! (Also, great idea with the Euribor!) $\endgroup$ – usεr11852 Mar 31 '19 at 19:23
  • $\begingroup$ Yeah I mean the wide majority of callers are first time callers. So I am thinking about simply modeling the first time calls and then using a different model for repeat calls, however I don't think this is ultimately the best way to go since in the repeat callers model we would be discarding a ton of useful info. $\endgroup$ – Odisseo Mar 31 '19 at 19:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.