Re: [Neo4j] Analysis of CDR (Call Details Records) using Neo4j for SIMbox detection

447 views
Skip to first unread message
Message has been deleted

Craig Taverner

unread,
Oct 30, 2016, 10:11:47 AM10/30/16
to ne...@googlegroups.com
In my previous work I did data modeling of telecoms networks, including modeling various event log data (including CDR data), and building statistics trees on the event logs for later querying. Take a look at the presentation I gave at graphconnect NY 2013 for some ideas of what we did:
While you could just import a CDR log as a long chain of events, what you want to do is connect events into category trees, or time trees, or some other graph structure, at load time (the trees should be built while importing the data), leading to the possiblity to write Cypher queries that simply ask pattern questions (match the trees) to get the answers you want. Some obvious examples from the above:
  • Connect calls from specific phones to 'phone nodes' (do the same for both caller and callee, see slide 32).
  • If you have large volumes of data, consider intermediate nodes (for example if you always ask about specific phones within time ranges, then make intermediate nodes time-phone nodes, eg. a single node for each phone on each day/date).
  • A time tree for time range queries (eg. the very long call query above).
I cannot comment on 'simbox' because I don't know what that means. Watch the video and see if you get ideas on how to model it yourself, otherwise ask again.



On Sat, Oct 29, 2016 at 4:41 PM, Fares <emsa...@gmail.com> wrote:
Dear all,

I am trying to use neo4j for anomaly detection in mobile network data (CDRs). This means that I am trying to detect abnormal customers behavior.
The format of the records may change from company to company but the most common attributes are:
 • Caller and called Identification Number;
 • Date and time;
 • Type of Service (Voice Call, SMS, etc...) ;
• Duration; • Network access point identifiers;
 • Others;

I am trying to model such data using Neo4j and then use cypher queries to detect abnormal customers behaviors 
Have any one seen or worked with a similar example? 

examples of the scenarios that I am interested in are
1- a call which is very long
2- what are the access points which are used by more users compared to the other access points?
3- Detect Simbox or interconnect Bypass fraud. How to knows whether the call is normal call or Simbox?
4- a phone number (a) which call another phone number (b) more that (x) times every day?

Kind regards

--
You received this message because you are subscribed to the Google Groups "Neo4j" group.
To unsubscribe from this group and stop receiving emails from it, send an email to neo4j+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Michael Hunger

unread,
Nov 1, 2016, 6:18:20 AM11/1/16
to ne...@googlegroups.com
Hey,

we've done a large scale CDR project at a major Telco company. That one was mostly around accounting and recommendations.

Fraud detection would require a different model, but my colleague who worked on that said if you're interested, feel free to contact us officially for a discussion / evaluation.

In general i would take the entities you mentioned and the questions you're asking and draw the whiteboard model that allows you easily to answer the questions.
Then take a months worth of data and import it into the model. The cypher queries should mostly look like "query by example" on your model structure with some aggregation and ranking.

Michael

amey...@gmail.com

unread,
Feb 5, 2017, 8:39:34 PM2/5/17
to Neo4j
Hi,

I Developed a graph model (with time series) from a relational model to store call detail records (CDR) in nodes, relationships and properties.  Developed Cypher queries to identify calls that were answered, abandoned, sent to voice mail direct etc., and produced tabular data. Identified the telephone numbers that never answered the incoming calls along with other metrics.

-Kamal
To unsubscribe from this group and stop receiving emails from it, send an email to neo4j+un...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Neo4j" group.
To unsubscribe from this group and stop receiving emails from it, send an email to neo4j+un...@googlegroups.com.
Message has been deleted

Michael Hunger

unread,
Mar 27, 2017, 7:00:35 PM3/27/17
to ne...@googlegroups.com
Almost there.

On Mon, Mar 27, 2017 at 11:33 PM, Fares <emsa...@gmail.com> wrote:
Hi,

Have you published that work so that I could go through it! 
To unsubscribe from this group and stop receiving emails from it, send an email to neo4j+unsubscribe@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages