1 / 6

Mobile Money in Africa

Mobile Money in Africa. Alex Miłowski , Orange Silicon Valley. Problem Statement. What is normal behavior?. 200000000 CFA (300000 €) 09:00 for 1 hour; depth 3. Person or robot?. Who is a good credit risk?. What is fraud?. 116290300 CFA (174435 €) 10:00 for1 hour; depth 6.

benjamin
Télécharger la présentation

Mobile Money in Africa

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Mobile Money in Africa Alex Miłowski, Orange Silicon Valley

  2. Problem Statement What is normal behavior? 200000000 CFA (300000 €) 09:00 for 1 hour; depth 3 Person or robot? Who is a good credit risk? What is fraud? 116290300 CFA (174435 €) 10:00 for1 hour; depth 6

  3. Graph Properties • Scale-out over time / geography (cells): • partitioned by transaction / action time • associated with cell towers • transactions, call records, sms, etc. • Derived properties: • social groups • action frequencies • transactions / call parameters or thresholds • typical role – operator, agent, ”spine”, edge user 90912345 xfer from type=TRANSFERamount=1000 at=2017-07-01T12:26:25+01:00 to 90954321

  4. SPARQL – union challenges construct { ?x ?p ?o } where { { <90912345> osv:xfer ?x } UNION { select ?x where { ?origin osv:xfer ?a . ?a osv:at ?at . ?a osv:to/osv:xfer ?x . FILTER (?at >= "2017-07-01T12:00:00"^^xsd:dateTime && ?at < "2017-07-01T13:00:00"^^xsd:dateTime) } values ?origin { <90912345> } } UNION { select ?x where { ?origin osv:xfer ?a . ?a osv:at ?at_a . ?a osv:to/osv:xfer ?b . ?b osv:at ?at_b . ?b osv:to/osv:xfer ?x . … } ?x osv:at ?at . FILTER (?at >= "2017-07-01T12:00:00"^^xsd:dateTime && ?at < "2017-07-01T13:00:00"^^xsd:dateTime) . ?x ?p ?o } xfer xfer from=origin to xfer from=origin xfer to xfer to xfer from=origin

  5. GraphQL - tree projections xfer { flow(func: eq(msisdn,"90912345")) { msisdn outbound: xfer @filter(ge(at, "2017-07-01T12:00:00") and lt(at, "2017-07-01T13:00:00")) { amount at transaction_type to { msisdn outbound: xfer @filter(ge(at, "2017-07-01T12:00:00") and lt(at, "2017-07-01T13:00:00")) { amount at transaction_type to { msisdn outbound: xfer … … } } } } } } from=origin xfer to xfer from=origin xfer to xfer to xfer from=origin

  6. BigQuery – recursive selections / same table select xfer_amount, at, type, from_msisdn, to_msisdn from `osv-nirvana.niger.xfers` where `at`>=cast('2017-07-01T12:00:00' as timestamp) and `at`<cast('2017-07-01T13:00:00' as timestamp) and ( from_msisdn='90912345’ or ( from_msisdnin ( select to_msisdnfrom `osv-nirvana.niger.xfers` where `at`>=cast('2017-07-01T12:00:00' as timestamp) and `at`<cast('2017-07-01T13:00:00' as timestamp) and from_msisdn='90912345')) or ( from_msisdnin ( select to_msisdnfrom `osv-nirvana.niger.xfers` where `at`>=cast('2017-07-01T12:00:00' as timestamp) and `at`<cast('2017-07-01T13:00:00' as timestamp and from_msisdnin ( select to_msisdnfrom `osv-nirvana.niger.xfers` where `at`>=cast('2017-07-01T12:00:00' as timestamp) and `at`<cast('2017-07-01T13:00:00' as timestamp) and from_msisdn='90912345'))) … ) xfer from=origin xfer to xfer from=origin xfer to xfer to xfer from=origin

More Related