Thoughts on pricing a service

So as I’ve posted in the other AI thread, I’m launching a service to provide AI/LLM access in a compliant fashion (data residency requirements, zero data retention, etc). Now I’m really struggling with how to price this. I would prefer a monthly fee, but not sure if that works, because the underlying cost structure is based on tokens consumed, so its usage based.

  • I could price it with say two levels, 1mm tokens and 2mm tokens/month. But this seems to get complex to me if someone exceeds their tokens.
  • I could charge a flat fee/month plus let them buy tokens as needed. That’s easier, I just check if they have tokens left and if not, tell them to buy some more.
  • I could just go straight on tokens, but this doesn’t give me monthly recurring revenue.

Various considerations, I would prefer development to be easy, I’m selling to advisors how are ‘price conscious’, I want monthly recurring revenue i.e. a subscription based service. Any thoughts on the best way to balance all this?

I’m probably overthinking this.

Tiered monthly pricing?

$x gets you 2m tokens
1.8X get you 5m tokens
etc…

If you get to 98% of tokens used, user gets a warning to see if they want to go up a tier.

Give a “monthly subscription rate” that is consistent and should cover your overhead.

Offer some “basic level” number of tokens so that someone “exploring” it can get a good idea of its usefulness. I’m not versed enough in that space to say what a good ball park figure would be.

Then have a tiered pricing structure for various “additional levels” of monthly tokens. If feasible, allow these tokens to roll over–or say “up to x amount can roll over month-to-month” if you want to get customers to be closer to their actual usage amounts.

I can see these tiers being something relative to the “basic level”; to illustrate:

Tier 1 == 3x basic level (2x basic rolling over max)
Tier 2 == 5x basic level (2x basic rolling over max)
Tier 3 == 10x basic level (3x basic rolling over max)
Tier 4 == 20x basic level (5x basic rolling over max)

After 8-12 months, evaluate the structure and adjust accordingly; especially based on customer feedback on their needs.

That’s sort of my thinking. So what happens when they have level 1 two weeks into the month, and they upgrade to level 2. Do I just charge them the first month the price differential between the two levels, and future months get the full level 2?

What if they do this change on say day 28 of 30 of the month. same thing?

Depends on your system. Might be easier to ‘refund’ the unused part, then start the new subscription on the new date.

way to actuarialize it up, man

Problem for your customers is they don’t know how many tokens they want to use, so they don’t know what level to sign up for.

Just make it straight-forward for your customers. Everyone starts with a basic monthly fee that gets you 1 M tokens / month. Over that, for the next 1 M tokens, it’s [$42] / M tokens or whatever. Over that, it’s [$65] / M tokens or whatever. Continue with the tiered pricing as necessary.

You produce a report on the 14th of the month that shows them how many tokens they’ve used, how many they have left, etc.

Could get extra helpful / customer-servicey and if they get into the tiered pricing, then you’ll allow them to roll over 0.5 M tokens / month. That way if they buy an extra 1 M, but only use 0.3 M, they don’t feel cheated because the other 0.5 M can be the first baseline of the next month.

1 Like

HEY!

You’re not wrong though. I’m starting to figure out how this integrates with the payment processor and what you’re saying is pretty much correct. It’s looking like this is the final answer, handled by the payment processor.

Basic, $XX/month for 1MM tokens, $50/1mm tokens above that.

Pro: $YY/month for $2MM tokens, $50/1mm tokens above that.

With that type of pricing, the payment processor handles everything. All we do is, every time the user submits a prompt, we send a message to the payment processor that they just burned 20k prompts. The processor increments the counter, if they need to buy more it charges automatically, and resets automatically every new billing cycle per client.

So I just need to set the pricing and send a token count for every query, and the processor handles everything…and I think it’s intuitive for the client.

tl;dr I don’t actually have to figure this out, the payment processor handles all the logic.