-
Notifications
You must be signed in to change notification settings - Fork 46
[ftf-304] Adding pricing examples #3090
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: main
Are you sure you want to change the base?
Conversation
Adds four worked pricing examples to help customers estimate costs for common use cases: - Livestream chat – high-concurrency event chat with batching (Chat) - Support chat – 1:1 customer support with consumption vs MAU comparison (Chat) - Data broadcast – one-to-many updates with conflation (Pub/Sub) - Realtime dashboard – many-to-few device monitoring (Pub/Sub) Each example includes assumptions, cost summary, message breakdown, and relevant optimisation notes (batching, conflation, etc).
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
m-hulbert
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.
This is really great thanks, Jamie. I've dropped a few comments and suggestions throughout and they are mostly all relevant to all 4 examples rather than me repeating myself 4 times 🙂
| meta_keywords: "sports betting, live odds, real-time odds updates, message conflation, Pub/Sub pricing, betting platform, live sports data, odds streaming, realtime data delivery, Ably Pub/Sub pricing" | ||
| intro: "This Pub/Sub example demonstrates consumption-based pricing for a realtime data broadcast – a single source publishing frequent updates to many subscribers." | ||
| --- | ||
| For this example, we're using a sports betting scenario (odds updates → bettors), but the same pattern applies to any broadcast where only the latest value matters: stock tickers, live scores, auction platforms, transport arrivals, 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.
We use 2nd person pronouns throughout in docs please, so no "we" or "our".
I'd also suggest expanding out parenthesis so it's more like;
This example uses a sports betting scenario where odds are updated and fanned out to bettors. The same pattern applies to any broadcast where only the latest value matters, such as stock tickers, live scores, auction platforms and transport arrivals.
| Conflation intervals are configurable from 100ms to 500ms – lower intervals reduce latency; higher intervals reduce message volume and costs. | ||
| </Aside> | ||
|
|
||
| ### Cost summary |
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.
It doesn't effect the output, but if could leave an empty line between headings, paragraphs and tables etc. it makes it a bit more readable for other editors.
| | Full market (10+ selections) | 8 KiB | ~2 KiB | 75% | | ||
| | Live stats + odds bundle | 15 KiB | ~4 KiB | 73% | | ||
|
|
||
| <Aside data-type='further-reading'> |
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.
Unforunately these don't format well on their own. If you add a short intro line before the bullet list then they do.
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 implemented a fix for this, but I've sent you a DM to confirm if I've understood this ask correctly.
paddybyers
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.
I really found these pages confusing when I first read them. The summary costs table at the top has numbers and calculations that have no obvious relationship to the assumptions. Obviously when you scroll down it's clear where the numbers come from, but some hint upfront would help.
| | Messages (with batching) | ~901M × $2.50/M | $2,252 | | ||
| | Room reactions (with batching) | ~70M × $2.50/M | ~$175 | | ||
| | Connection minutes | 1.5M mins × $1.00/M mins | $2 | | ||
| | Moderation (Ably) | ~360K msgs × 1 rule invocatio | $1 | |
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.
| | Moderation (Ably) | ~360K msgs × 1 rule invocatio | $1 | | |
| | Moderation (Ably) | ~360K msgs × 1 rule invocation | $1 | |
| ### Cost summary | ||
| The high-level cost breakdown for this scenario. Messages are billed for both inbound (published to Ably) and outbound (delivered to subscribers) – a single message to 100 subscribers generates 101 billable messages. | ||
|
|
||
| | Item | Calculation | Cost | |
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.
The dollar results in this table are rounded to integer dollars so they look wrong. Eg 1.5 x $1 = $2. They shouldn't be rounded
Co-authored-by: Mark Hulbert <[email protected]>
Co-authored-by: Mark Hulbert <[email protected]>
Co-authored-by: Mark Hulbert <[email protected]>
Co-authored-by: Mark Hulbert <[email protected]>
Co-authored-by: Mark Hulbert <[email protected]>
Description
Adds four worked pricing examples to help customers estimate costs for common use cases:
Each example includes assumptions, cost summary, message breakdown, and relevant optimisation notes (batching, conflation, etc).
Checklist