-
Notifications
You must be signed in to change notification settings - Fork 731
Updating the contract discount structure #14196
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
- Restructure discounts around 4 clear levers: volume, timing of cash, length, and mutual timing - Add 25% volume tier for $60k-$100k credit purchases - Implement mutual timing lever with 5% discount for predictable commitments - Add Platform Adoption Bonus for multi-product usage - Clarify Net 30 as standard with penalties for extended terms - Update examples to show simple calculations - Base discounts on credit purchase amount rather than post-discount spend
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
note to self - following for coffee and contracts discussion. Touch on multiplier talk and commercialization in chat |
|
I like these changes, and as long as the additional discounts don't get us into a weird situation where we are discounting beyond our cost, I think this makes sense. I wouldn't pitch this as simplifying, because I think it makes our discounting structure more complex, both conceptually and to calculate. That being said, I think that complexity is worth it for a few reasons:
I've got a few questions I added in line in the PR. |
| Our general principle is that a customer should get a discount because the cash up front is beneficial to PostHog, as it allows us to invest more in building more products, faster. Pre-paid discounts must be paid up-front. We do not offer monthly or quarterly payment plans for discounted contracts. If a customer prefers quarterly or monthly payments, we can offer them a lower credit value, which will reduce their discount. | ||
| ### Platform Adoption Bonus | ||
|
|
||
| **Multi-Product Credit:** Get 5% bonus credits when you use 3+ PostHog products at $1,000+/month each |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've been wanting a product adoption discount for a while, and I like this as a starting point. Do you see this as only applying at the beginning of a contact renewal or would we apply this as a tactic to get someone to adopt even if they are 6 months into their credits?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Was thinking both
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agree, I don't think waiting to discount on an action we want someone to take now makes sense.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this could be open to gamification here - i.e. someone spends 1000+ on 3 products in their first month, gets the additional credit then drops back down to 1?
Either we could do something more ongoingly e.g. add 5% of their monthly credit allocation each month if they continue to pay for 3+ products or
Look at their previous 12 months usage when renewing and apply some % increase based on the average number of products used.
Alternatively we could do a 'loyalty discount' - get an extra 2.5% for every renewal you do with us.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was also thinking it would apply at renewal forward, or also if "loyalty" levels made sense!
For initial adoption we should model this more for spend scenarios. Has 95 vs 100$ prevented cross product adoption, ...has a customer even made such direct request?
I've heard of cases where we can trial experimenting with other products. Additional discount could also counteract multipliers and wash out with the already baked in lower prices tiering.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Proposed Revision:
Initial Adoption Credit: 2.5% bonus credits at contract start
- Applied when contract includes 3+ products at projected $1,000+/month each
- One-time, non-recurring
Sustained Usage Credit: 2.5% bonus credits at renewal
- Applied when customer has maintained 3+ products at $1,000+/month average over the trailing 6 months
- Recurring on each qualifying renewal
Expansion Credit: 2.5% of remaining contract value when adopting a new qualifying product mid-contract
- Product must exceed $1,000/month for 3 consecutive months before credit applies
- Maximum 10% total expansion credits (4 new products)
As for whether this washes out existing volume, per @ja-me-sk 's comments, I see this as an alternative as it's terribly difficult for us to affect volume most of the time (vs seat-based selling where sales people just need to find additional interested internal teams). The provides another lever for the sales team and and alternate path for customers to find additional "volume". Thinking we could treat this as experimental and roll back if it doesn't affect behavior in any meaningful way
landon-posthog
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall, I like this. Left a few comments / questions
Fair point. I've changed the title. The original goal was to simplify the matrix itself, which is confusing to read, and ended up adding more too it. |
| #### 3. Timing of Cash Discount (Additive) | ||
| - **Net 30 (our standard):** No additional discount | ||
| - **Paid upfront (multi-year deals):** +2.5% per year paid upfront | ||
| - **Extended payment terms:** -2.5% for every 15 days beyond Net 30 (e.g., Net 60 = -5% from total discount) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could this work the other way i.e. pay immediately and get an extra 5%?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I dislike this idea, mainly because I can see the scenario we agree to this, payment doesn't come through and then we try and remove discount, they send the original payment late and then it's a harder thing to fix all the invoices / re-issue etc etc.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yep fair!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've only seen this requested for accelerated payments within their payment window. for example add 2/10 within NET 30, 2 additional % off if paid within the first 10 days or something like that
From an earlier call we're we also trying to incentivize early renewal not only new contract?
Isn't there already a penalty on "late fees"? - Unpaid amounts are subject to a finance charge of 1.5% per month on any outstanding balance.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Offer conditional credit if they do pay when they say they do instead of offering the discount?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah conditional credit is a good idea here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Proposal:
Immediate payment (within 3 business days of invoice): +5% additional discount for ACH/wire transfer, or credit card processing fees waived
| #### 1. Volume Discount (Based on Credit Purchase Amount) | ||
| - **$25k - $60k:** Base discount of 20% | ||
| - **$60k - $100k:** Base discount of 25% | ||
| - **$100k - $250k:** Base discount of 30% |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- **$100k - $250k:** Base discount of 30%
Is this the only change from the existing down from 35? do we know how many $ are impacted from current contracts or potential lost?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd assume we'd grandfather previous customers into this plan, but the impact on margins of this structure relative to large customers is something I'd be curious about...not sure it's worth the analytical effort though.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, I think grandfathering makes sense and we can leave it up to TAMs at renewal to use this as an additional lever (keep it or move to new pricing, depending on the discount). Ideally, our discounts should be getting marginally smaller with each tier, suggesting there is a ceiling. The current structure oddly accelerates, suggesting the opposite. I'm open to alternative suggestions to the actual rates, but strongly believe they should follow this principle.
| #### 4. Ability to Forecast - Mutual Commitment to Timing (Additive) | ||
|
|
||
| **For Monthly-to-Annual Conversions & Net New Agreements:** +5% additional discount |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like this conceptually. I worry about it practically:
- When offered once during a deal cycle, it will be expected every time, even if the customer breaks their timeline.
- A customer that has a compelling event will use that deadline to drive a discount, when they would've signed otherwise by that date.
- By its nature, it only creates value for PostHog on the initial "land" -- it's a one-time discount
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Proposal:
- Reneging and asking for it again: With your comment elsewhere about needing the commitment in writing, clarify it applies once and only once per signed contract/renewal
- Compelling event: I think this is fine, actually.
- Land vs Expand: Reposition it as an early renewal bonuse where renewal contract must be signed 60+ prior to renewal.
|
I like it, and I have little to improve on the smart feedback thus far, excepting a comment and some suggestions on the timing discount. |
landon-posthog
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These changes generally look good to me
Co-authored-by: Ben Bradley <38007189+bendbradley@users.noreply.github.com>
Co-authored-by: Ben Bradley <38007189+bendbradley@users.noreply.github.com>
Co-authored-by: Ben Bradley <38007189+bendbradley@users.noreply.github.com>
Co-authored-by: Ben Bradley <38007189+bendbradley@users.noreply.github.com>
Co-authored-by: James Komara <7023326+ja-me-sk@users.noreply.github.com>
Remove maximum discount cap and date-pressure policy note as these no longer apply with the simplified 4 levers framework.
Changes
This PR simplifies and restructures our contract discount documentation to align with the 4 discount levers framework, making it more transparent and easier to understand for both sales teams and customers.
Key improvements:
Business rationale:
Each lever represents real value exchange:
Checklist
vercel.json(N/A - no pages moved)