This module contains indicators from mobile phone usage and interactions with contacts.

active_days(records) The number of days during which the user was active.
number_of_contacts(records[, direction, more]) The number of contacts the user interacted with.
number_of_interactions(records[, direction]) The number of interactions.
call_duration(records[, direction]) The duration of the user's calls.
percent_nocturnal(records, user) The percentage of interactions the user had at night.
percent_initiated_conversations(records) The percentage of conversations that have been initiated by the user.
percent_initiated_interactions(records, user) The percentage of calls initiated by the user.
response_delay_text(records) The response delay of the user within a conversation (in seconds)
response_rate_text(records) The response rate of the user (between 0 and 1).
entropy_of_contacts(records[, normalize]) The entropy of the user's contacts.
balance_of_contacts(records[, weighted]) The balance of interactions per contact.
interactions_per_contact(records[, direction]) The number of interactions a user had with each of its contacts.
interevent_time(records) The interevent time between two records of the user.
percent_pareto_interactions(records[, ...]) The percentage of user's contacts that account for 80% of its interactions.
percent_pareto_durations(records[, percentage]) The percentage of user's contacts that account for 80% of its total time spend on the phone.


Some bandicoot indicators rely on texts being grouped into conversations. We define conversations as a series of text messages between the user and one contact. A conversation starts with either of the parties sending a text to the other. A conversation will stop if no text was exchanged by the parties for an hour or if one of the parties call the other. The next conversation will start as soon as a new text is send by either of the parties.


  • At 10:00, Alice sends a message to Bob “Where are you? I'm waiting at the train station. I have your ice cream.
  • At 10:01, Bob responds with a text “I'm running late, I should be there soon.
  • At 10:05, Bob sends another message “I missed my bus :(
  • At 10:10, Alice calls Bob to tell him she eated the ice cream and took the train.

The first three text messages define a conversation between Alice and Bob, which is ended by the last call. The call is not included in the conversation.

The distribution of delays is [60 seconds, 240 seconds]. Bob's response rate is 1 as he responded to Alice's first message.


A conversation can be defined by just one text message. In this case, the response delay is None.