Machine learning to catch fraud I work for a company that ships material (a couple of thousand shipments per day) around the world.
In order to ship anything a customer has to declare the weight of a shipment and declare the contents
To circumvent customs they under declare material for example T-Shirts might be the declared contents but the actual contents might be a Hugo boss t-shirts which are worth more.
Normally they are caught by random inspections and black listed (I have this data set and it grows daily) if it is a re-occurring shipper but this is costly to honest users of the service and impacts the time taken for a shipment to arrive.
Repeated offenders are blocked manually based on addresses but can and do sign up again with a different account varying the address enough so as not to be recognized. For example 1 fake street could be applied again to fkae street 1. A human can see the difference but we dont have the staff to go through it. I think machine learning could be the way forward
I was wondering if anyone would have any ideas how to classify these shipments. Research papers, ideas, brain storming are all welcome. What i would like to do is use the caught shipments to try an identify customers who have tweaked the address slightly so as to direct customs appropriately and make our black listing more effective
Thanks for your time
 A: In my opinion a machine learning approach is going to be overkill for your problem. The first thing I would try is a system that looks something like


*

*Given a new address compute the Levenshtein distance to all the fraudulent addresses.

*If the distance is less than some threshold $\tau$ flag it as suspect.

*How to deal with potential suspects depends on your needs/capabilities, at this point you could either reject it straight away or have a human verify that it  is likely fraud. 

*If the address is rejected, add it to the list of fraudulent addresses.


You may need to do a literature search for alternate distance functions that take into account the type of edits you expect to see, for example you may want something that allows transpositions like Damerau–Levenshtein distance. 
All that being said, it isn't clear to me what an ML solution to this problem even looks like. Binary classification with character n-grams as features? I don't imagine this would work well at all, but I could be wrong.
