I don't recall the particulars of the answer, but it was eye-opening. She said that they had a team of lawyers whose job was to (try to) keep track of all of the laws, all over the world, that had any bearing on this topic. Not only was it state and federal law, but also county and even city law. (And territories...and military bases....etc.) There were some stipulations about where the card was bought AND where the card was used, if in different jurisdictions. Many of the laws were contradictory. In some cases, none of the money could be reclaimed, and would revert to different local funds. There were effectively endless permutations.
She and her team had to decide what of all of this they would model with code. They could not model all of it, so there was a hybrid of some actions being taken with the code, and the code outputting reports that humans would use to make decisions about actions.
It was eye opening to consider how legally complex many such 'simple' things, like gift cards, are when implemented on a wide scale.
To the armchair HN community who ask "why does it take 1k engineers to run <insert random silicon valley app that operates at global scale>". Here is your answer.
Note - to be fair, yes many of these team are indeed bloated and work on projects that are a result of NIH syndrome, where "buy vs build" decisions just automatically default to "build". Ask anyone at Amazon if they enjoy working with the code on their custom internal ERP system and you'll know what I'm talking about.
I think the usual question isn't why a random SV app yas 1k engineers, but why does it have < 100 engineers and 2k+ administrative and sales&marketing people.
The answer is the same, but let's be clear: this is not an engineering job. It's legal and sales job.
Can you elaborate?
Things like gift cards are, for all intents and purposes currencies, minted by non-governmental organizations with dollar-parity and limited transferability - and even with those constraints it's incredibly difficult to actually play nicely with Federal/State/Local laws.
If there's one thing governments have ZERO tolerance on it's messing with currencies/money.
Could fuzzy logic be used to build a case when the laws become contradictory? Maybe after the case is built it could be passed on to legal counsel for approval.
In practice, rules engines are almost never more useful than just coding things up normally in the language of your choice when encoding/building the logic for your product. You just have a few business rules that change within your company via conversations, projects, and people involved.
What they're actually useful for is when your product let's your product's users build up logic in some way that you need encoded and executable. In this case the rules are data from your customer. Think a state machine for a Jira ticket/help desk work flow that your customers define, or some workday process that walks your customer's users through new hire onboarding.
Rules engine rules are code; just code in a language that is usually very simple but also (because it's not used anywhere else) completely obscure.
> Could fuzzy logic be used to build a case when the laws become contradictory?
Didn't the Bayesians kill fuzzy logic?
A nice Google search proves why this can be so complicated: it's actually very important and the best blog post about it is this one https://blog.agilenceinc.com/making-sense-of-unused-gift-car... (it's not very good)
I think Starbucks makes more money these days from its sugary cold drinks than its hot coffee/tea/espresso.
For me, it is the predictable atmosphere, the AC, the WiFi, the coffee itself, the hours of operation, and the location convenience that draws my money, not the gift cards. I would be surprised to learn I'm in the minority there, as I figured I was a common starbucks demographic / customer target.
And they’re the only chain restaurant/café whose employees don’t appear clinically depressed at every location.
I hope it’s because they’re actually happy.
actual gift cards given as gifts though are probably more likely to be used up and discarded, instead of being set to auto-reload and carry a balance.
"When you’re leaving a foreign country and still have some of the local currency, take it to a Starbucks and load it onto a gift card. You can use the card later in the UK, USA, Canada, Australia, Mexico, and the Republic of Ireland."
https://lifehacker.com/put-leftover-foreign-currency-on-a-st...
This post from 2012 says where the gift cards must be used and redeemed in the same market: https://customerservice.starbucks.com/app/answers/detail/a_i...
> Starbucks Cards issued in Brazil, Germany, Italy, France, Japan, Korea, Malaysia, Philippines, Portugal, Russia, Singapore, Spain, Taiwan, Thailand and Turkey may only be used in the market from which they are issued.
"Currency conversions are based on currency exchange rates applicable on the date of the Transaction." Well can't they just use a super advantageous measure there? There's no pinning to any external rate in the language.
it's not going to be the best rate possible, but it's probably a better rate than anybody else at the airport will give you.
1) Hitting minimum spend requirements for a credit card bonus or discount (e.g. 10% statement credit at [Store of the Week] with a max credit of $10 or something).
2) I have a Target credit card and almost everything in Target, including gift cards, is discounted by 5% if I pay for it with Target's credit card. That makes my Hulu subscription or Nintendo Switch digital purchases 5% cheaper in the absence of anything else.
According to the FDIC, 6.5% of American households lacked a bank account at all in 2017.[1]
Amazon cards are pretty popular when companies have small dollar giveaways of various sort.
More generally, in a lot of circles in the US at least, giving cash as a gift is often seen as a bit crass. So, if you really don't know what to buy a person, a gift card is seen as an at least minimally thoughtful gift that lets the recipient choose what they want. Amazon admittedly tends to fail the minimally thoughtful test but that's the story with gift cards generally.
If it wasn’t for that I would just pay Netflix directly.
- loading an account family members have access to, without linking to the main credit card.
- loading foreign accounts, where small transactions are painful with most cards.
By my understanding, in the US, typical merchant fees to accept a card are a flat $0.20-$0.30 transaction fee, plus 2-3% of the total dollar amount.
The article mentions the interchange fee (the 2-3%), but for small purchases the transaction fee is more significant.
I assume the majority of purchases are individuals buying a single beverage. If an average drink costs $4, a $0.30 transaction fee alone is eating 7.5% of your gross revenue. That's an absolutely huge amount.
Even if Starbucks cards are bought/topped up with a credit card, that $0.30 fee is being amortized over $20+ worth of product instead of $4 worth.
I also figured this tied in with Starbucks' contract with Square some years back - as one of Square's value props is eliminating the per-transaction fee for credit cards. Not sure why that was cancelled, though.
That's correct, generally. But those can always be negotiated. And Starbucks probably has the volume to have some negotiating power. I'd be surprised if they didn't have a lower rate.
Although, having tried Starbucks coffee, I have to say it's terrible!
Maybe it's the way it's made with an automatic machine and a disinterested barista, or perhaps the beans are over-roasted and mass produced in a factory. Just about any small coffee shop makes better espresso based coffee than them, especially in Sydney, Australia, where Starbucks continues to struggle to gain a foothold.
By the way this isn't true in California: by law all stored value and store-credit cards last for 10 years and can be cashed out.
Correction: cannot have any expiration date (not “lasts for 10 years”), service/dormancy fee, and (if purchased after 2007) must be permitted to be cashed out if the remaining balance is under $10.
[edit]
Source: https://www.dca.ca.gov/publications/legal_guides/s_11.shtml
1: https://www.theguardian.com/books/2018/apr/27/fake-books-sol...
According to the treasury dept:
>First, the illegitimate funds are furtively introduced into the legitimate financial system. Then, the money is moved around to create confusion, sometimes by wiring or transferring through numerous accounts. Finally, it is integrated into the financial system through additional transactions until the "dirty money" appears "clean".
I don't see how starbucks cards can be used in any of those steps.
Story time:
So, back in 2009, I'd just started working at Starbucks and my first job was to figure out some reporting discrepancies in online purchases of Starbucks cards. Basically, a report from the database on how many $$ of cards we'd sold didn't seem to match up with a transaction volume report from our credit card processor. And, as the new guy, I got stuck digging through stacks of classic ASP, layers of SQL Server stored procedures, and even some really old mainframe that I can't remember the model of. It was important to the business to figure out why these reports didn't match up, but it wasn't exactly a fun assignment that engineers were leaping onto.
Anyway, I eventually figured out that it wasn't a reporting error— we were truly "selling" more $$ in Starbucks cards than we were charging for. I dug through the whole process to see how this was possible, and found what it is still one of the most hilarious bugs I've found in my career.
When you got to the checkout form to buy a Starbucks card in any denomination, you had to fill out your credit card information. If anything you filled out didn't validate or we couldn't authorize your card, you would get an error message. It would ask you to correct the credit card information and resubmit the form. But, crucially, you didn't actually have to correct the information. You could just resubmit the form with anything you wanted, and some spaghetti logic determined that since validation & credit card auth had already been run once, it didn't have to be run again! Instead, we just created an order to ship you the product and didn't bother charging your card at all.
This bug was "leaking" probably over $100K in cards each year, for who knows how long. I still wonder if anyone actually figured it out and was exploiting it. It wasn't even "laundering" money, it was wholesale minting it.
The best part was a few weeks later, long after we'd fixed the bug. Someone from the IT security team showed up at my manager's desk with a lot of questions and pretty ready to walk "the new guy" out, and possibly press charges.
Turns out, while I was troubleshooting the bug, I'd accidentally submitted some absurd order. Something like 100 Starbucks cards, each loaded with $200 or whatever the maximum was. I guess I'd submitted it in production instead of the QA environment, and because of this bug, the order had actually gone through without charging me. It was a large enough order that it triggered a manual audit, and someone was pretty sure that I was just stealing from the company.
Talking them down was fun times, since they were pretty serious about the whole thing while my whole team was just cracking up :)
Under the old system (prior to ~Apr 2019) you had to make $150 in purchases annually to get "Gold" status, and then you got a free reward after every ~$62.50 in Starbucks spending. The new program has no minimum, and tiered rewards between $12.50 and $200 of spending.
I worked on the team around 2009, before the rewards program rolled out. The card program was already huge at that point, so the rewards are not the primary draw.
I assume that this is somewhat of an incentive to quite a few customers: That almost-forgotten balance almost feels like a discount towards the next purchase, not so much as a free loan to Starbucks.
I don't agree with this. While merchants pay interchange fees based on the value of card transactions (plus a flat rate per transaction IIRC), as a cardholder rewards are earned only as a percentage of the total purchase, and are not influenced by the number of transactions.
So I earn 4% back on the value of all my Starbucks transactions, regardless of whether the purchase is made via the app or my card. I am willing to forgo a couple pennies in interest on my rolling $15-20 balance to have the convenience of mobile ordering.
If you use the system efficiently, I see it as a net value add as a customer.
So I threw $50 on my card, I get 10% off the coffee, and earn back a bit on the Starbucks reward points.
I filed the claim form, and when I got the check, the checkstub said it was from an unused Starbucks account balance.
If last year they had $155 million from abandoned accounts that they could legally just pocket, I wonder how much they also had to send over to various states' unclaimed property offices.
i'm not sure this is true. they're definitely saving something on the interchange, but not 1-2%. reloading your starbucks card is done by a credit card payment, so they're still paying that percentage fee one way or another.
Anyone would know if this kind of idea is behind or maybe related to Facebook Libra?
Unlike most other apps (e.g. McDonald's) that simply run each transaction through Apple Pay.
Just by virtue of using the app, I'll always have some leftover money Starbucks will one day keep. (I'm not aware of any way to revert a balance back to cash.)
If you can get the balance under $10 and stop at a store in California, they'll exchange it for cash.
It’ll let you track recharges, spends and balances for your customers, we use it for nearly a million customers.
Most of those gift cards are purchased by credit card as well. This point is incorrect.
I have no idea why they would not be using transactions, and make the same mistake twice. It really does make me wonder how much FAKE money is inside of that BILLION DOLLAR pot.
I also found similar issues in 2017 for their Thailand division. But this is at least understandable as Thailand operates its own Gift Card system.
[1] https://chadscira.com/post/556999d91cb00914380006ee/Re-Starb... [2] https://sakurity.com/blog/2015/05/21/starbucks.html
Obviously it woudln't. He even provides the evidence why not. People top up their starbucks because they need coffee every day - it's basically a subscription , but they dont buy the same stuff at walmart every day - and the cost levels are widely different. Something similar happens to virtual credits for different games - Experts will tell you that it is better to have a separate economy for each game rather than one unified economy - and you should not even allow players to pay each other. Same reason why stock photo sites want you to buy credits for each one of them, or why each newspaper wants a separate subscription. The "Breakage" breaks up when the economies are unified.
The card has a 800 number on it to check its status. So I called it and entered the card number. It was unrecognized. :-(
It was probably a $50 holiday gift to me at some point.
I wonder whose pocket that money ended up in?
What a racket gift cards are.
Relatedly they've tried to sell me on the starbucks credit card but it's a 1-2% difference in rewards. (nto that I spend quite enough on coffee for it to come out to much, but it's the theory of it that's fun)
Also why would Starbucks form an alliance with McDonald's? They compete in the same market. They both sell coffee and breakfast sandwiches... Would be a bad idea for sbux.
They're called "brokered deposits" in finance, and they have all kinds of restrictions. Banks like them because they have predictable stability to lend against.
So, smart employers will celebrate the new year and some other random holiday with $500 in gift cards.