Comments (5)
Thanks for detailed report @vladr !
I'll check this out 🤔 My expectation is the same as yours. The performance should've been in the same range as the previous version. Or at least, it shouldn't break/time out the whole dashboard.
For the workaround, I also need to review the math involved, it's been a while 😅 but If I'm not mistaken, lowering 10K beta_probability_simulations should impact the confidence over the winning alternative.
from split.
@andrehjr 👋🏻 I'm facing the same problem. Any progress on this issue or any best guess about when it might be addressed? The workaround above works, but ideally my team doesn't need to know about this gotcha in future versions.
from split.
If I read the documentation correctly, altering beta_probability_simulations
should only affect the "Probability of being Winner" calculation on the dashboard, but not the "Confidence" (default) calculation. Is this correct?
In addition to the dashboard, beta_distribution_rng
is, I believe, also used by the Whiplash (multi-armed bandit) algorithm; we aren't using Whiplash at the moment, but could there also be an impact there? (potentially in excess of 1 millisecond per trial for large participant counts, based on the benchmark above).
from split.
Yes, that's correct. Thanks for digging up more into this. I couldn't get some quality time yet. :(
The default confidence calculation is done via ZScore and should be fast.
The only impact for altering beta_probability_simulations
is the % for the "Probability of being Winner" shown on the dashboard. We try to cache the result for the probability on Redis as it can be slow to calculate that every time the dashboard open... still, I think this should be improved.
from split.
Thanks for confirming, and for reminding me of the Redis cache! If anyone else stumbles over this ticket because of running into a Rack::Timeout::RequestTimeoutException
or equivalent (i.e. preventing the calculation from completing) when loading the console, I can confirm that manually "priming" the cache first in Rails console and then accessing the Dashboard also works as a palliative measure:
irb(main):001:0> Split::ExperimentCatalog.all_active_first.each { |x| print "#{Time.now} - #{x.name} ...\n" ; x.calc_winning_alternatives }
from split.
Related Issues (20)
- ERR wrong number of arguments for 'hset' command HOT 6
- Improved experience in the split dashbaord
- "Insufficient confidence" with 1400+ participants, 60+ completions and 2 variants HOT 2
- Multiple tests with the same prefix (e.g. menu and menu_underline) will result in the second test being recalculated at every request HOT 4
- The control group is not always the default in RSpec tests HOT 2
- custom error tracking middleware like raygun / sentry / etc? HOT 2
- Split Dashboard showing negative NON-FINISHED value HOT 1
- Error connecting to Redis with cookie config HOT 1
- When split cookie is a valid, json encoded String, a NoMethodError is raised HOT 2
- Update alternative weights dynamically
- ActionView::Template::Error (Unsupported command argument type: TrueClass) HOT 8
- Deprecation warning by using `redis.sadd` with Redis 4.8.0 HOT 5
- `matrix` should be added as a dependency
- Rubystats gem causes name conflict that won't allow Rails application to start properly HOT 1
- SSL_connect error when opening dashboard or calling ab_test() or ab_finished() since updating our Heroku redis from 5 to 7 HOT 4
- CROSSSLOT keys issue when using redis cluster HOT 5
- Assign running experiment to logged_in_user HOT 1
- 'cleanup_old_experiments' error when running from non-web (eg. console) HOT 2
- New release with redis 4.8 compatibility ? HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from split.