Hacker News new | ask | show | jobs
Do not sign a contract with Snowflake
156 points by throwawaysflake 2029 days ago
Throwaway to share a cautionary tale about contract chicanery with Snowflake to protect our ID. In mid-2019, I started testing DWH providers for our small data stack. Did the free trial for on demand Snowflake after hearing how it is suited for smaller use cases. After a few months of using it, we had bills in the low hundreds range/month. Their sales rep reached out to sell us on a contract where we pre-purchase $10k credits on a yearly contract (their lowest contract at that point) where we can roll-over any un-used credits next year. I will emphasize here that the sales conversation, rep never mentioned anything regarding new purchases requirements with the roll over, and in fact portrayed it as a paperwork process to just continue the credits. The actual contract clause is pretty vague and just says unused capacity will roll over into the next contract.

Fast forward to now, we need to do our roll-over contract for our unused credits, which due to covid, we have over 90% unused credits because we had to prioritize other projects. Rep reaches out and informs us that we need to sign a new contract for $1k min. to roll-over our 9k credits and we would lose the 15% discount on the unused credits. Losing the discount is one thing, but having to purchase more just to keep what we have purchased was not at all how this roll-over process was portrayed at signing. The rep then said in fact there is a worse policy for newer customers where unused credits will only roll-over if you renew at the same price or greater only. I should count myself lucky that they had the decency to enforce this policy rather than their other arbitrary policy that is not mentioned anywhere.

If you are considering contracting with them and they are promising all these great things about discounts and roll-over, don't do it. I guess since their IPO, they no longer care about their smaller customers. There has been some chatter on HN about how Snowflake is worth so much, well...here you go.

19 comments

I don't have any experience with them but I went to the pricing section on their website[0] and was greeted with very large all-caps text:

PRICING: WHY PAY FOR WHAT YOU DON’T USE?

PAY FOR THE COMPUTE AND STORAGE YOU ACTUALLY USE.

I found that pretty funny given the problem you're running in to.

[0] https://www.snowflake.com/pricing/

You only pay for what you use, but you must purchase their virtual currency Snowbux, at least 10,000 units per year.
Their marketing copy is still accurate.

It sounds like the OP wanted to get 15% discount, which required them to prepay for 10,000 usage credits that expire after a year.

It's not Snowflake fault if you didn't use the prepaid amount that allowed OP to gain the 15% discount.

Only prepay for things you know you'll entirely use

We knew we weren't going to use the entire prepaid amount and said to the sales rep we didn't think it was worth doing it because our usage was low and we would have amounts left over and the rep insisted the roll-over process would be perfect for our use case (he can see our prior months of on demand) and said literally it is just paperwork (I guess that is technically true, paperwork is involved, so lesson learned!). That said, from what he wrote it seems these "policies" may be new to 2020 because he told me that even newer customers have the renew at the original contract amount or more to roll-over so maybe it was easy paperwork any roll-over back in 2019 when we signed and that has since changed. The contract is so vague that it only protects them, not the customer, if they decide on changing their internal policies. Obviously, if they just stated the policy, we wouldn't have signed any contracts.

We purchase because without contract, you can't access their support engineer which we thought we would need but turned out not needed at all (also, I am starting to doubt if the support engineer part is even true, you can probably submit a ticket anyway).15% is not a significant enough saving to sacrifice the flexibility, given AWS can offer like 75% off at reserve. I wrote this post so others who may be considering it should know their rep may not be transparent about everything or might not be able to live up to their promises. I feel like for their long term, this is counter productive for their business strategy, shrug.

Only if you stay on demand, which is why I say, use Snowflake if it works for you (not knocking the product), just stay on demand.

Edit to add that for those who don't believe the sales process was as misleading as I portrayed, just look at their investor earnings release from today! They really try to paint a picture that it is trivial to rollover your credits beyond your contract term and you wouldn't be anything you don't want to buy/need/use. I mean gotta laugh considering their newest policy is you have to buy new contracts at the same or greater price point as last year to rollover.

"Product revenue is a key metric for us because we recognize revenue based on platform consumption, which is inherently variable at our customers’ discretion, and not based on the amount and duration of contract terms. Product revenue includes compute, storage, and data transfer resources, which are consumed by customers on our platform as a single, integrated offering. Customers have the flexibility to consume more than their contracted capacity during the contract term and may have the ability to roll over unused capacity to future periods, generally on the purchase of additional capacity at renewal. Our consumption-based business model distinguishes us from subscription-based software companies that generally recognize revenue ratably over the contract term and may not permit rollover. Because customers have flexibility in the timing of their consumption, which can exceed their contracted capacity or extend beyond the original contract term in many cases, the amount of product revenue recognized in a given period is an important indicator of customer satisfaction and the value derived from our platform. Product revenue excludes our professional services and other revenue"

https://investors.snowflake.com/news/news-details/2020/Snowf...

OP here, for some of the common themes/FAQs, because I am going to hop off but the original post doesn't have enough character space for me to be clear. 1. No, we obviously did not know the min. sales conditions to issue new contract after the year and the rep never mentioned this even though we explicitly discussed that we could not finish the contracted amount even at our pre-covid usage. The rep portrayed the roll-over process as simply issuing new paperwork. Had he said this is done with min. sales conditions, we would not have signed. I looked up what they have written publicly about their own roll over policy and I can only found this on their SEC filing "Customers have the flexibility to consume more than their contracted capacity during the contract term and may have the ability to roll over unused capacity to future periods, generally on the purchase of additional capacity at renewal".

What I want to point out is that the last clause does imply that some people at some point could roll over without purchasing additional capacity, so it may be that the policy of min. new purchase was made after we signed, or the rep didn't disclose the policy, or whatever. All this is to say their whole roll over policy is obviously in flux so you are at their whim even if it sounds great. The rep (I guess to convince me that the min. policy is not that bad) said newer customer are in a different bucket where their roll over can only occur by signing another purchase at the same price or higher (so if we signed later, we would have to pay 10K more to retain the 9k and so on). Hopefully these newer customers were told this or were savvier than me and got it in writing in their contracts. If you are interested in the exact text of the contract where roll over was mentioned, I posted it in a reply somewhere.

2. We signed a contract for a few reasons and the discount wasn't even the main one. We always prefer the flexibility but Snowflake promises engineering support only for those on contract, though we ended up not even needing this as we solved problems that came up ourselves and the product is pretty self explanatory. Again why I say go on demand. The discount offered for contracts is really small, much smaller than AWS for example where it's like 70% off for 3 years etc. AWS is super clear that those expire in 3 years but the discount is huge to make up for it. In Snowflake's case, I don't see the upside since roll-over is really a pain and the discount is tiny. I don't have any experience with the support to say whether having a contract is worth it for this reason, but I suspect you can probably go through generic support or solve your own issues without too many problems.

3. I have no problems so far with Snowflake as a product by itself which is why I still say if you want to use it, I just recommend doing it on demand. Especially because a lot of smaller orgs are probably drawn to their positioning of being more flexible and only pay for what you use computing, they clearly are trying to figure out how to maximize their top line and changing policies around so you are probably better off on demand.

Your complaint is that they require you to purchase a new annual contract after your first one ends? This really shouldn't come as a surprise.

And they'll let you roll over $9000 worth of unused credits by purchasing just $1000 new ones? This actually sounds like a pretty good deal.

I think your problem is that you purchased more than you needed via a contract you didn't understand.

It's disingenuous for the company to try to get you into a contract by promising that your "credits" can be rolled over without being up-front about the conditions.

Obviously OP made a mistake here, and it seems that they're admitting that, but if what they said was true, this company was being deceptive about the contract.

Do rollovers of credits, minutes, etc typically persist after the subscription has ended? If I cancel my AT&T account I can't keep using my saved up rollover minutes.
I'm not sure this is a good comparison. If you cancel your AT&T account, the assumption here is that you're getting rid of your number. At that point, you are not retaining service.

Based on their website[1], you can have an account with pay as you go. There is no reason to assume that if I change to a month to month agreement, I would have to create a new account. Why shouldn't the rollover minutes stay with the account? OP paid for it already.

To go back to the AT&T analogy, if they offered a prepaid yearly contract with rollover minutes, and I lose those minutes because I switched to month to month, I would be pretty angry.

[1] https://www.snowflake.com/pricing/

We did expect to use more but covid changed that, that said, the problem I am warning others about is the the sales conversation was not accurate, but none of what was promised was in the contract in writing. Definitely my fault though for trusting that the roll over process is as simple as issuing new paperwork as portrayed by a guy who is just looking to close the deal. I have not had such a problem with other companies in the same sector with such sales practices but maybe that's just my experience. Makes no sense to me though coz who would want to sign a contract when you don't know what policies they might decide on mid-way, the discount offered is tiny (unlike AWS reserved where it is super clear when they expire but you also get a huge discount so it's not vague what the trade-offs are) and you are much better off on demand.
I'm confused. What are you are asking for them to do?

You pre-paid for $10k of usage, with an agreement to roll-over unused credits into next year's contract. The plain definition of roll-over includes the fact that you'd have an active future account. Otherwise, they'd just say "prepay credits never expire". Imagine trying to use roll-over minutes on a phone plan where you cancelled the phone.

$1k/yr seems like a very low minimum which will serve as basis to roll your $9k of existing credits into.

Sounds to me like you just didn't think about or budget for this. Doesn't sound like any misrepresentation to me.

The budget changed due to covid, we definitely anticipated using more than 10% in a year. Even at normal usage, we discussed with the rep that we could not finish in 1 year so what the point of a contract and he said it was easy to roll over and they will just issue new paperwork. That it would be with min. purchase was the condition that I think he should have disclosed but that's my issue for not pushing harder. That said, these new purchase min may be new policy after we signed because there seems to be newer policies that require even bigger purchases, which may or may not be disclosed at sales time/in their contracts.

My post is definitely a lesson learned and shared to others who are small and may be interested in getting better engineering support from Snowflake (a benefit of signing up that was the main reason for us that we ended up not needing) by the contract route to question their sales rep in depth and get it in the contract itself, and honestly, should just stay on demand.

That’s how roll over works. If you sign up for a cellphone and expect them to keep your line active when you cancel because you have roll over credits, you would also be out of luck
The only thing I care about here is what it said on the paper you signed up front and how carefully you analyzed it.

I learned this lesson when making a $XM multi-year contract with AWS. They said "customer will be signed up for enterprise support", which we read as "customer gets enterprise support for free". Then we started getting bills for enterprise support ($1K/month). The contract said that, but was a bit vague; it was totally on us to ask for clarification up front.

Yep same lesson. As I wrote above, we knew we could not finish the min. contract amount based on prior usage which the rep said the roll-over is great for our use case and would be fine for us to continue using them for the next year they would just issue new paperwork (I should have pushed harder on clarifying all the ins and outs of roll-over and get it into the contract). The contract is only 1 page and the only roll over clause is vague and so yes I guess they can basically decide to change what new contract polices they have internally and the customer would be subject to that whim, which from the rep it sounds they have because newer customers than us on a different policy (not sure how/when they decided to create these customer buckets) where contract can only roll-over by paying the same amount each year or more.

"Rollover of Capacity. If Customer purchases additional capacity under a separate order form before the end of the Subscription Term hereunder, any unconsumed Capacity will roll over into the immediately succeeding subscription term of such order form. Otherwise, purchased Capacity expires and becomes void automatically at the end of the Subscription Term."

> If Customer purchases additional capacity ... unconsumed Capacity will roll over ... Otherwise, purchased Capacity expires

What is vague about that?

It is the min. additional required, given they calculate capacity usage into very small units (like one of our statements was for $0.20 which is also how they position themselves), I was under the impression from the rep they could re-paper with a token amount(basically roll over without any new significant purchase, for a 10k contract, 1k is to me significant). I of course should have pushed what the new contract min might be so that is on me. But as I mentioned in my reply elsewhere details that their min. purchase policies changes and apply to different people differently, which is their prerogative, but I'm just recommending people not to trust what their sales rep portrays and if you are small, just stay on demand because they may have some huge new min. purchase requirement that is not in your contract.
Your right it's not vague. It's pretty clear.

Add the fact that the contract was just 1 page, it seems they signed without reading. Basing their decision only on the words of the smooth talking sales rep.

They would have had my sympathy if the clause was buried within many pages of legalese.

But 1 page? Come on.

Sorry I wasn't clear, I was saying it's vague what there would be a new purchase min of $1k (now according to the rep it is their internal policy is whatever level you were contracted at is the new min.). Since capacity for Snowflake is sold in very small tranches(we at one time got a bill for less than a dollar for the month during our on-demand time), I assumed the new contract could be issued with very small, essentially token amounts, this point is where the rep more or less waved his hands on and I agree I should have not trusted his portrayal. Honestly he may be working with the constrains of changing policies imposed on him too, so I def take responsibility here. Just as I mentioned, the post is for people who may be looking at similar clauses and coming to the wrong assumption that I did to not repeat the same mistake.
I've yet to deal with any "data anything" vendor in this business in 20+ years who gives a rats ass about small customers.

Try buying a database sometime.

Every single last one of them sells to you like they're IBM. "Spend six-figures-plus/year or don't even talk to me."

Hardly a surprise at this point.

I've had the misfortune of dealing with Snowflake before.

Their sales team behaves in a way that I'd call predatory and pushy. Their account managers were unhelpful to the point of being opaque about how much "credits" we had, and just how that corresponded to actual value.

The whole experience, coupled with what I'd call an otherwise uninspiring product was unpleasant enough to make me want to never deal with them again.

Not to condone their approach but in the SaaS subscription business, any renewal that yields less revenue than the previous term is treated as churn (for the difference in value).

With churn being of the metrics that affects investors dynamic and thus valuation the most, I understand their desire to eliminate these situations.

Enter negotiations and at the end of the day, vote with your dollars.

I wish that along with that a lot of these vendors were happy to start small.

I've found a trend where SaaS vendors will only sell licenses in bundles that are either way less or way more than anyone needs, pushing to start the relationship with you overprovisioned.

Then at renewal time there's pressure to add more licenses and you're still not using all of the ones you have.

Sounds like a typical prepaid gift card (with expiration), nothing more. It's not uncommon for a company to say, if you prepay - we'll give you a discount. But we need the usage to expire at some point (for GAAP accounting reasons)

Or am I missing something here.

Gift cards with expiration dates are illegal in some states.
Reminds me of Audible's bullshit premium. If you cancel the premium, you lose the credits almost immediately.
As someone who just subscribed to Audible, thanks for sharing this. I'm still on Plus and really floored at the poor selection. :-/
When we worked with Snowflake, they did slip this in (a contract renewal is required to retain credits) without much emphasis. However they did disclose it and it informed how big our initial contract would be. Generally the economics favor a smaller contract to start.
Meh, everything as a service, at some point, you're being gamed to pay for things you don't really need, just because it somehow seems "easier" to manage.

I've been thinking about trying out snowflake, but I feel like for most companies, if you have someone that can design a data warehouse schema, you can probably manage fine. Most small businesses just need to pre-aggregate their metrics and feed them into a DW/OLAP system. Then you can just have a software engineer build an API and some visualisations around the metrics.

From personal experience working on Fortune 500 projects, the challenge is actually defining the metrics, hierarchies and dimensions. You have to understand the business well, and also be technical to understand how it translates into a data warehouse.

I just started the coursera specialization on data warehousing [1]. While I do have some exposure to dimensional models and hierarchies, I think this will be an awesome experience to build a data warehouse myself.

[1] https://www.coursera.org/specializations/data-warehousing

this sounds like.. every enterprise software vendor?
So we've had the same deal pushed towards us. It did take some questioning to really lay out the nitty gritty for what happens (as any sales conv shouod go) when but I didn't feel it was misrepresented.

We are currently rolling on pay as you go with them, and have successfully worked out what deals they'll offer when so we can sign if our traffic makes it make sense for that kind of commitment. We keep making our system more efficient and pushing that day away.

There are a few things that have less than impressed me with Snowflake, but having worked a bit with some of their competition I'm not bothered.

Thanks for the warning. Have you spoken to a lawyer about this?

My personal experience has been that sometimes I get really upset about perceived fraud, only to discover later on that I'd missed something in the fine print, or misunderstood something in the relevant laws.

If you're confident that you've been defrauded, you might consider getting in touch with your local attorney general (or whatever the appropriate government office is where you work).

People in sales are not people worthy of your trust. If at all possible, I refuse to deal with humans when acquiring products.
lol, I normally am very empathetic to sales people, I feel like they do a difficult, soul sucking job. But in this case, I agree and wish I just told the rep to bugger off.
I assume you're aware that it is likely that Snowflake will be able to identify you based on this story and there may be a non-disparagement/non-defamation clause in the contract you signed, should they want to enforce it.
Why would you use Snowflake over just straight Google Cloud or AWS?
Counterpoint: just read the contract before you sign it.

Salesmen are full of shit and everybody knows it. The contract you sign is what matters. Read it first.

welcome to enterprise software?