OpenRetention
OpenRetention is a source-available customer-success system for teams that want a focused, inspectable risk workflow instead of a large enterprise suite.
The problem
Early B2B SaaS teams can have product, billing and renewal data without having a usable daily queue for customer risk. The useful question is not “what is the score?” but “who needs attention first, why, and how much revenue is exposed?”
How I approached it
- 01Keep the health model deterministic so every score can be explained.
- 02Separate usage, inactivity, payment and renewal signals instead of hiding them inside one opaque model.
- 03Order the risk inbox by commercial exposure so the operator sees what matters first.
- 04Keep deployment self-hosted and the core intentionally small enough to inspect.
Key features
- Deterministic health scoring
- Usage decline and inactivity signals
- Payment and renewal signals
- Revenue-at-risk prioritisation
- Risk inbox and account inspector
- Node.js 24 + SQLite
- Docker configuration
- Public seeded product preview
Architecture
- Runtime
- Node.js 24
- Data
- SQLite
- Risk model
- Deterministic rules
- Deployment
- Self-hosted / Docker
- UI
- Operator-grade web console
- License
- Business Source License 1.1
What RETENTION is built to preserve.
- Explainability over opaque scoring
- Workflow density over dashboard theatre
- Revenue context beside every risk signal
- Accurate source-available licensing language
Useful answers, without the hunt.
Is OpenRetention open source?
Not before its Change Date. It is source-available under Business Source License 1.1 and the repository states the future Change License.
What does the health score use?
The current deterministic model uses observable signals including product-usage decline, inactivity, payment state and renewal proximity.
Is OpenRetention a full replacement for Gainsight or ChurnZero?
No full feature-parity claim is made. The current product is deliberately narrower and focused on self-hosted, inspectable risk and renewal workflows.