Saturday, May 30, 2020

Paypal Will Die Soon

TL;DR

This is a story of how Paypal abused my trust and opportunistically siphoned off INR 1200 from my credit card for a service (currency conversion) that I didn't ask for and on a transaction that was swiftly reversed by the merchant who understood my concern quicker than Paypal. Even after the refund, Paypal shamelessly kept the cut on the original transaction, and refunded the rest. 

Worse - their support didn't see anything unethical in keeping their cut in the transaction, even when a customer says he is getting charged for unwanted services, and goes to the extent of getting the merchant to refund the transaction altogether. They outright refused to acknowledge that there is any problem in this practice, and kept throwing the user-agreement at me. 


Premise

About a month back, I had activated a trial subscription with an overseas service. The nominal/test charge on the credit card was around 1 USD. While the service doesn't matter, the charge currency does. It was charged in USDs. When I tried a direct charge on my credit card, my issueing bank's fraud blocker kicked in and declined an overseas transaction in USD. I didn't have much time to follow up, so I thought of using alternate payment gateway that was available - which turned out to be Paypal. 

Initially, on login, Paypal showed me conversion charges for converting from USD to INR. I have a much better setup with my issueing bank that offers me pretty good exchange rate on most of the currencies - USD included. I didn't need Paypal's conversion rate. So I checked carefully, and was able to ensure my credit card gets charged in USD. Thereby avoiding Paypal's conversion fee. I didn't care to find how much it was, since I wasn't going to need it. 

Since the payment went through, I decided to save my credit card with Paypal (I may have already saved it before payment back then). Afterall Paypal was a well-known entity in the finance world; and I didn't feel much of a problem in trusting it with my credit-card and letting it charge it. Big mistake! 


What Happened

Once the trial period came to close, I decided to continue the service for an year - year because I was getting a good discount on the annual plan, and I felt I would use it for an year. The charge would be around $300 and I let it flow through Paypal, expecting Paypal to do the right thing - charge my credit card in USD. 

It indeed did the "right" thing - right for itself. Paypal charged it in INR, and added a ridiculous 5% markup as conversion fee! A fucking 5% markup as conversion fee - on a credit card, which is capable of handling a cross currency charge at a 10th of that! If it had charged a bank account and then added a conversion charge, I would have understood. But it charged a credit card. There are quite a few things to note here - 

- Credit cards are always enabled/used for international transactions.
- In most cases, they are setup with a much better exchange rate than a 5% markup. 
- No attempt was made to charge the CC in USD. If that attempt had failed, charge in INR would have made sense as a fallback. 
- An earlier charge of USD 1 - had succeeded on the same card, when it was charged in USD. 
- I wasn't even asked if I want to get charged in INR; it just did the "right" thing that would earn it the highest cut at the expense of the customer. 


The Support Saga

I immediately wrote to their support about this, clearly stating all the points mentioned above, and asking them to do the right thing. I got their user-agreement thrown at me - particularly the conversion fee section. The support also mentioned if I want to cancel the transaction, I should ask the merchant for refund. 

I was pissed off, but I wrote to the merchant support right away explaining the whole situation, and asking for a refund, so that I can try an alternate payment gateway that charges my credit card directly in USD. The merchant, to their credit, initiated a refund in a day, no questions asked! 

Now comes the rudest of shocks! Paypal refunded the amount, but in USD, thereby shamelessly keeping the initial cut it received under the excuse of "conversion fee". It cleanly siphoned off INR 1200 from my credit card for a service that I didn't ask for, on a transaction that was refunded/reverted by the merchant in full within a day! 

In utter disbelief, I wrote to their customer-support again, asking if ethics and customers find any place in Paypal's core values as a business. And to my utter dismay, I kept getting the same user-agreement thrown at me. In short, no matter right or wrong, ethical or unethical, they were not going to part with the pretty penny they made by abusing the trust I placed in them by giving them authority to charge my credit card, and thereby making a fool out of me. 


Closing Words

This whole thing reminds me of my last ebay experience where a seller sold me a defective laptop charger on ebay, and ebay turned a blind eye, making a mockery of the ebay-guarantee that made me put my trust in their services. Here's the blog-post regarding that experience in detail - A Fraud Called Ebay Guarantee. I never dealt with ebay ever again after that. As of now, in a booming e-commerce market like India, ebay is nowhere to be seen. That's what happens when you are penny-wise pound-foolish and place your priorities at odds with customers. 

Having been used to Amazon level of customer-care, I can't believe there can be businesses that have such absolute apathy towards customers and run on opportunistic business practices. I don't see how they can survive innovative disruptions when they can't even command customer satisfaction, forget loyalty. 

I have removed all my cards from Paypal. There is no question of using Paypal anymore for any transaction even if there is no alternative. I definitely don't see any place for such businesses in a competitive environment of financial services. I hope the likes of Stripe and Adyen are much better and customer-centered in this regard. 

Saturday, April 4, 2020

Corona Testing in India: Possible Way Ahead

Many a times when problems overwhelm us, we tend to lose sight of simple solutions that can help reduce the problem's impact to a large degree, if not solve the problem itself. 

For some time now the world has been confidently asserting that the low number of Corona cases in India have been because of under-testing. Rather than getting into the debate about such assertions, it is a fact that India has been conservatively testing - possibly to avoid wasting valuable test-kits on unlikely cases. Everyone is aware about the danger Corona poses to a densely populated country like ours. If it gets into social transmission stage, it will be a DDoS (distributed denial of service) attack on our health-care system (like it has proven to be in the Europe and the US). For a delicately poised health-care system like ours, it will turn out to be a monumental crisis. Long story short, since test kits can be in short supply, wide-scale testing in an over-populous country like ours, is hardly practical, and the powers that be would try to conserve this 'fire-power' till the right time. 

THE GAME CHANGER

India has been importing test-kits from Germany [1], and the test costs almost 4-5k per head, which is pretty high, if considered at the scale of Indian population. One Indian lab came up with a homogeneous test-kit [2] that can not only test faster and more accurately, but is also more cost effective. Cost of testing still remains in the range of 1k-1.5k per head though - again not exactly cheap, when considered at the scale of Indian population.

While all this has been happening, today I came across a smart way of addressing this very problem of increasing test coverage without burdening the available resources, namely: test-kits and time taken for testing. And this method is a perfect example of how simple solutions hide under plain sight when we are overwhelmed with the monstrosity of a problem. Here's the tweet a friend shared with me, and light bulbs went off! - 



It refers to a research paper published by researchers at Goethe University, Frankfurt about a method to increase Covid-19 test coverage across the world. The english translation of corresponding news is available here - [3]

At a higher level, the method suggests pooling of test samples from a large group of people, and then using binary search to drill down to the positive cases. 

In layman's terms, if let's say the test was conducted using blood samples of people, then we mix blood samples of say 100 people and conduct the test once for that "mixed" sample. If the test is negative: voila! all 100 people are corona-negative and no further testing is needed. 

If, on the other hand, the test is positive, then it indicates that there are one or more corona-positive samples in that "mixed" sample. So, as a next step, we bifurcate the samples into groups of 50 each, and then conduct a test on each of those 2 groups. Apply the same method again: if negative, all the samples in the groups are corona-negative; and if positive, bifurcate the group further into groups of 25 each, and then wash, rinse and repeat till you drill down to the corona positive sample(s). 

HOW EXACTLY DOES IT WORK

The bifurcation part is where this method derives its power from. It's a standard binary search algorithm. Well, a little less than standard maybe - because in this case the effectiveness of the algorithm depends on probabilistic distribution of corona-positive cases across a demography, rather than the textbook pre-condition of having a "sorted-set" to give it the edge. 

In simpler terms, the effectiveness of this method in a city like New York will be far less, since the prevalence of corona-positive cases there is very high (projected to be 50% of population in a few days). But in India, which fortunately seems to be at a much earlier stage, and hence the prevalence of the cases are low, due to group elimination, this method will be quite effective. 

So far, we have been concentrating on testing only highly probable cases - like people with travel-history or people with corona-positive contacts. If we adopt this method, we can bring additional categories of people, like probables, less-probables, precautionary-test-needed, flu-patients etc, under the ambit of tests. Increasing the scope of tests in such way, will not only help us strike down the "under-testing" assertions, but will help us detect and contain/quarantine corona cases at a much higher rate, without increasing costs or time required to test in proportion. 

BINARY SEARCH TO REDUCE NUMBER OF TESTS

By definition, and let's say in ideal conditions, binary search will roughly take about 2logN + 1 (base 2) tests to find out a corona-positive sample in a group of N samples. For example, if let's say there is 1 corona positive in a group of 100 people, here's how the testing process will work out - 

test-1: 100 samples => positive
test-2 and test-3: 50 samples each => 1 group positive
test-4 and test-5: 25 samples each => 1 group positive
test-6 and test-7: 12/13 samples each => 1 group positive
test-8 and test-9: 6 samples each => 1 group positive
test-10 and test-11: 3 samples each => 1 group positive
test-12 and test-13: 1/2 samples each => 1 group positive
test-14 and test-15: 1 sample each => 1 positive

So instead of needing 100 tests for 100 people, we needed only 15 test kits to come to the same conclusion/result. 

Also, a major boost will come in the form of all-negative tests, i.e. if the first "mixed" test of 100 samples itself turns out to be negative - it will mean all 100 people are corona-negative and no further tests are needed. This can be used to pool all less-likelies and less-probables together into 1 test - to verify the assumption that they are indeed corona-negative. 

Now the obvious question will be - what if all 100 are to be corona-positive? In that case, we will end up using more test-kits than 100, specifically: N + 2LogN + 1 = about 115. In other words, the effectiveness of such binary search will be directly proportional to the prevalence of corona in the demography under test. Higher the prevalence (think New York), lower the effectiveness. Lower the prevalence (think tier-2 cities in India), higher the effectiveness. Here, prevalence is expected rate/spread of infection, not measured one. 

CLINICAL VIABILITY: POOLING

Now, in the age of sensationalism, it's but natural to be cynical about such claims, and counter question if all this "mixing" of samples is even clinically viable or practical. That is, can we even "mix" two samples, and reliably test the "mixture" for corona-positivity. 

Turns out the clinical term for such group testing is - "pooling". Pooling of samples is not a novel technique per se. I came across a research paper that asserts that such pooling has been in use since the times of world-war-2. 

So now the question remains if such pooling of samples is possible in case of Corona virus testing. Turns out not only the Goeth University, Frankfurt, but even a university from Israel, with the help from a private lab, has managed to successfully test [5] pooling of samples for Corona testing. The false-negative rate mentioned in the paper [4] is about 10% when testing for 1-in-32 samples, and I assume it can be brought down further for 1-in-16 tests. 




One small technical point to note here is - this method makes things scale even faster, since it potentially allows detecting 1-in-16 i.e. one positive case out of 16 samples. So the 'N' that we were considering above, will actually itself become log-to-the-base-16 of the actual size of the group, increasing the testing capacity at an even higher (exponentially higher) rate. In simpler terms, every one of those 16 samples, can themselves be a mixture of 16 samples, since the final test can detect 1-in-16 of the "mixed" sample which may have showed up positive in an earlier test run. 


FINAL THOUGHTS

All this information has been compiled from resources available on the internet, solely for making it easier to understand how this technique could be highly useful in Indian context, and why India should aggressively pursue and explore this further. 

I am no medical/clinical expert here, and this is not a declaration that this will bring us out of the clutches of this Corona pandemic. Nevertheless, this is a ray of hope for a densely populated country like ours, and I will love to hear what our medical professionals have to say about this. I am sure there will be some practical/logistical issues/obstacles in adopting this, but I, for one, would like to  believe that the benefits to efforts ratio, for efforts required in overcoming those obstacles, will be high enough, given the whole economy is being held hostage due to the spread of this pandemic. 

Here's hoping for a quick recovery. 

REFERENCES

Here are some references that I collected from the twitter thread, and elsewhere on the internet. 

[1] Chennai Firm Close to Developing First India-Made Coronavirus Test Kits, But 'Govt Nod May Take 2-3 Weeks'
[2] Meet the woman behind India's first covid testing kit