Why Stripe has higher take rates and lower margins
Over the last few months, some of Stripe’s performance and financials have become public recently. This allows us to compare it to arguably its closest competitor, Adyen, which is a public company.
This will be a relatively short piece, but I’ll cover:
Comparison of their financials
Discussion of what drives the differences in their numbers
First of all, what do we know about Stripe? From a recent Forbes piece, we know the following about their 2021 financials:
$640B in payments volume (+60% y/y)
$12B in gross revenue
$2.5B in net revenue
$100s of millions in EBITDA
Similarly, a prior piece discussed parts of their 2020 financials
$7.4B in gross revenue in 2020 growing 70% y/y
$1.6B in net revenue in 2020
Putting all of this together gives us a reasonable picture of Stripe’s financials (minus profitability)
Adyen is a public company so this part is relatively straightforward. Based on their financials, they did:
$542B in total processed volume (up 70%)
$5.5B in gross revenue
$1.05B in net revenue
$660M in EBITDA (63% EBITDA margins!)
Comparison of Financials
Now, let’s get to the interesting part of comparing the two. Based on the data below, here are a few things that jumped out to me:
Stripe is bigger in terms of total payments volume processed, but only by about ~18-20%. However, Adyen grew payment volume faster in 2021 (though Stripe grew it faster in 2020).
Stripe’s gross revenue is more than double that of Adyen. More on this later, but the key driver here is Stripe’s aggregated take rate is ~1.9% vs ~1.2% for Adyen.
Stripe’s net revenue is more than double that of Adyen. The key thing to note here is that both Stripe and Adyen’s net revenue is about 19-20% of gross revenue, so the main driver here is the higher gross revenue as above. This makes sense since given that they are on similar scales, they both pay a similar ~80% to financial institutions.
Adyen likely has much higher EBITDA margins than Stripe. While we don’t know Stripe’s EBITDA margins, based on their “hundreds of millions in EBITDA” comment, I assume Stripe is at 0.7-0.8B in EBITDA in the best case1, which would be about 30% EBITDA margins. Adyen’s is 63%, so perhaps double that of Stripe.
Understanding the differences
Based on the comparison of financials above, there are ultimately two key differences in the financials between the companies:
Stripe has a gross take rate of 1.9% vs 1.2% for Adyen (this also drives a net take rate which is almost double)
Adyen has ~63% EBITDA margins, Stripe is likely at half of that (in the best case) if some of the reports are true.
Let’s discuss both.
Why Does Stripe have a much higher gross take rate?
Adyen’s Enterprise vs Stripe’s SMB origins: Adyen was designed for the enterprise, and while it has expanded to the mid-market, it has much fewer customers and higher average total payment volumes. These larger customers tend to negotiate better payment processing rates. On the flip side, while Stripe has made a move towards the enterprise, it started as a product-led API that any developer could use, and still has many many smaller customers, which pay take rates closer to 3% if not more (Stripe’s standard price is 2.9% + 30 cents). You can bet Stripe’s larger customers like Amazon pay much closer to 1% than 3%, but given the set of SMBs, it helps drive up Stripe’s overall rate.
Stripe’s broader product suite to increase take rates: Stripe has been much more aggressive and expansive in terms of its R&D when it comes to building adjacent products. Stripe’s philosophy seems to be to become the one-stop shop for the businesses it serves, especially when it comes to anything payment/fintech/operations related. Each of these adjacent products, when used, typically costs another 0.1-0.5% on the transaction and therefore drives up the gross take rate.
As an example, Stripe’s tax automation product charges 0.5% per transaction. Meanwhile, Stripe’s data analysis product Signa costs 1-2 cents per charge.
While Adyen has also added some adjacencies, it has not been anywhere close to that of Stripe, as the images below illustrate.
Why does Stripe have lower margins?
While we don’t have a full view of Stripe’s costs, we have some data points which can help us.
The short answer to this question is the cost of employees.
Stripe has ~7000 employees vs Adyen’s 2180 employees.
Stripe needs more employees: Given Stripe’s strategy, it needs to build a lot wider product and so needs a lot more employees in R&D. It’s not surprising that the costs to produce a lot of adjacent products will drag down margins at least initially given their low uptakes initially and them being pretty early on in their journey.
Adyen is run leaner: Even factoring that in, Adyen seems to be running a lot leaner and more efficiently in terms of gross revenue generated per employee. Adyen generates close to ~$3M in gross revenue per employee while Stripe is around $1.7M.
Stripe’s cost per employee is higher: Given Stripe’s HQ is in California, its fully loaded cost per employee is likely somewhat higher than Adyen. Over half of Adyen’s 2180 employees are in Amsterdam, and Adyen only has 13% of its employees in the US. Based on employee costs of ~252M in 2021, Adyen’s cost per employee is ~$130K (assuming an average of 1950 employees in the year). My guess is Stripe’s number may be a good 50% more.
I have no good reason other than if they were $900M and above in EBITDA they might have commented “we’re around / over a billion in EBITDA” instead of “hundreds of millions in EBITDA”