Bifalgorithm post
Let's say you offer a free trial, and then you notice the same people keep creating new accounts to get it again. How do you stop them? The first idea is obvious. One free trial per IP address. Sounds reasonable, but it breaks pretty quickly. Imagine four people living in the same house. They all use the same Wi-Fi. From your server's point of view, they may all appear behind the same public IP address, so if one person uses the trial first, everyone else could get blocked. The same problem happens in offices, universities, hotels, or mobile networks, where lots of legitimate users can share an IP, so IP alone is not enough. What about device fingerprinting? Now we collect signals from the device, things like browser, operating system, screen size, language. time zone and other browser characteristics combine enough of those signals and you can estimate whether two accounts are probably coming from the same device that's better but it's still not perfect someone can switch browsers use another device change some settings clear storage or intentionally try to make their fingerprint look different so now we have two imperfect signals ip address and device fingerprint this is where the better approach is to stop thinking How suspicious is this signup? You create a risk score. Same device as an account that already used the trial? Add risk. Same payment method? Add a lot more risk. Same IP? Add some risk? Five accounts created from the same device in one hour? Add even more. Maybe the email address was created five minutes ago. Maybe the account behaves exactly like previous trial abuse accounts. Each signal by itself might be completely legitimate, but together they can become very suspicious. Then you define thresholds. Low risk? Give them the trial. medium risk maybe require a payment method or additional verification very high risk don't offer another free trial and payment information can be one of the strongest signals because creating another email address is easy creating another browser profile is easy getting a completely different legitimate payment method every time is much harder but you still shouldn't rely on payment methods alone either families can share cards companies can use one corporate card and privacy preserving payment systems can make identification harder So the goal isn't to build some magical identifier that recognizes every human on earth. You probably can't. The goal is to combine multiple weak signals into one strong decision. IP device payment method account history center velocity behavior. And maybe challenge suspicious users instead of blocking them immediately. Some people will still get through. And occasionally a legitimate user might look suspicious. That's why good fraud systems are based on probability, not certainty. You're not asking, is this definitely the same person? You're asking, given everything we know, how likely is it that this person is abusing the free trial?
Let's say you offer a free trial, and then you notice the same people keep creating new accounts to get it again. How do you stop them? The first idea is obvio…
Ideas in this flowchart
- Prevent Free Trial Abuse
- Challenges with IP Address
- One Free Trial per IP Address
- Shared IP Issues
- Challenges with Device Fingerprinting
- Device Fingerprinting
- Fingerprint Evasion
- Risk Scoring Approach
- Risk Score Calculation
- Threshold Definition
- Challenges with Payment Methods
- Payment Method as Signal
- Shared Payment Methods
- Goal of Fraud Systems
- Combine Weak Signals
- Challenge Suspicious Users
- Probability-based Systems