A Rack-based A/B testing framework for Ruby web applications, designed to work with Rails, Sinatra, or any Rack-based app.
Split is a Rack-based A/B testing framework for Ruby web applications. It allows developers to run controlled experiments by splitting traffic between different alternatives (e.g., UI variations, feature flags) and measuring their performance based on conversion goals. The framework solves the problem of implementing robust, statistically valid A/B tests without relying on external SaaS platforms.
Ruby developers building Rails, Sinatra, or other Rack-based web applications who need to run in-house A/B tests for optimizing user interfaces, testing new features, or improving conversion rates.
Developers choose Split because it’s a lightweight, self-hosted alternative to commercial A/B testing services, offering full control over data, flexible configuration, and seamless integration with existing Ruby stacks. Its extensible design and built-in statistical tools make it suitable for both simple tests and complex experimentation workflows.
:chart_with_upwards_trend: The Rack Based A/B testing framework
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Works seamlessly with Rails, Sinatra, and any Rack-based app, as highlighted in the README, allowing easy drop-in usage without major framework changes.
Supports weighted alternatives, multiple goals, combined experiments, and custom algorithms like Whiplash for multi-armed bandit optimization, enabling complex experimentation workflows.
Includes a Sinatra-based web interface for visualizing experiment performance and managing tests, reducing reliance on external tools for monitoring.
Offers both z-test and beta-distribution simulation methods to determine significance, with configurable intervals, ensuring data-driven decisions are backed by proper analysis.
Requires Redis 4.0+ as a datastore, adding infrastructure overhead and maintenance compared to lighter, file-based or memory-only solutions.
Tightly coupled to Ruby ecosystems, making it unsuitable for polyglot microservices or front-end frameworks that require cross-platform A/B testing SDKs.
The README warns of known issues with Redis caching in multi-process environments like Puma, leading to potential data inconsistencies in production deployments.