ozgooen
How suitable do you think this is for CPU-intensive work? I'm interested in having servers for scientific-computational work, which would be rather CPU-heavy. It would be great to offload some of this to a nearby browser for bits and pieces that desire low-latency.
The EA worldview takes some getting used to though.
You can use tools like distshaper6 to generate arbitrary distributions, then copy the samples into Guesstimate.
http://smpro.ca/pjs/distshaper/
Guesstimate doesn't yet support an input format for distributions outside of via samples.
The first is to use Excel apps like Oracle Crystal Ball or @Risk. These are aimed at business analysists. They're pretty expensive, but also quite powerful.
The other option is to use probabilistic programming languages. Stan and PYMC3 are probably the best now, but hopefully, some others will become much better in the next few years.
That said, this is a pretty small space. The main "business competitor" is probably people just using google sheets or Excel without distributions to make models.
Crystall Ball: https://www.oracle.com/applications/crystalball/ @Risk: https://www.palisade.com/risk/default.asp Stan: https://mc-stan.org/ PYMC3: https://docs.pymc.io
Guesstimate doesn't currently allow for correlations as you're probably thinking of them. However, if two nodes are both functions of a third base node, then they will both be correlated with each other. You can use this to make somewhat hacky correlations in cases where there isn't a straightforward causal relationship.
Implementing non-causal correlations in an interface like this is definitely a significant challenge. It could introduce essentially another layer to the currently 2-dimensional grid. It's probably the feature I'd most like to add, but the cost was too high so far.
I think Guesstimate is really ideal for smaller models, or for the prototyping of larger models. However, if you are making multi-million dollar decisions with hundreds of variables and correlations, I suggest more heavyweight tools (either enterprise Excel plugins or probabilistic programming).
We have some documentation [here](https://docs.getguesstimate.com/), and some in the sidebar entree.
Generally, we recommend lognormal distributions for estimated parameters that can't be negative. This works when you span multiple orders of magnitude, though it's possible you may want an even more skewed distribution (which is unsupported).
I may be able to make a much longer video introduction some-time soon.
I think if I were to start again or spend much time restructuring it, I'd probably focus a lot more on enterprise customers. That would be quite a bit of work though, so I don't have intentions of doing that soon.
Update: Matthew (the other cofounder) and I got Guesstimate to a stage we were happy with. After a good amount of work it seemed like several customers were pretty happy with it, but there weren't many obvious ways of making a ton more money on it, and we ran out of many of the most requested/obvious improvements. We're keeping it running, but it's not getting much more active development at this time.
Note that it's all open source, so if you want to host it in-house you're encouraged to do so. I'm also happy to answer questions about it or help with specific modeling concerns.
Right now I'm working at the Future of Humanity Insitute on some other tools I think will compliment Guesstimate well. There was a certain point where it seemed like many of the next main features would make more sense in separate apps. Hopefully, I'll be able to announce one of these soon.
When I built this, my first goal was to make any distribution run quickly. At this point I believe adding other distribution types will be quite doable, expect them shortly.
It's definitely not mobile compatible yet. I think making it viewable on mobile devices soon is doable. Making them easily editable will be much harder / require a different interface.
In the future, one idea would be to keep track of people's metric estimates in Guesstimate, and later score and rank them on how well they do. So if Charles always reports a 90% confidence interval that's far too optimistic, we could help adjust it automatically next time. This would also allow us to aggregate different opinions directly, essentially being like a mini prediction challenge. This would be a ways off though, and it really depends on what direction the product goes.
"Or support for numerical distributions?" - By numerical distributions do you mean discreet distributions: like, a 40% of being '8' and a 60% chance of being '6'? If so, the answer is no. However, if you use the ternary operator it is possible to do very simple versions of this now. We do support totally random picks of different numbers though, using the pickRandom([3,5,3]) function. http://mathjs.org/docs/reference/functions/pickRandom.html
I can't make guarantees about the distant future. There's a ton of work I would love to see happen with Guesstimate, and my guess is that much of it would only be possible if it becomes a company. This can still mean that it can be mostly open source, but I really have little idea what the situation would be at that time.
Right now the main distribution types are normal and uniform. In the video, I showed normal distributions, which have long tails in both directions.
In this case, a normal distribution isn't really correct, because, as you noted, being less than 0 is exceedingly unlikely.
I believe the correct way to deal with this is to use a lognormal distribution or something that has 0 chance of being less than 0. I don't yet have a simple way of doing this, but it's definitely on the agenda.
In response to your points:
- Other distribution types are the #1 most requested feature at this time. Binary distributions are possible using functions instead of the built in distributions, though obviously not intuitive. It's built using math.js, which has several random functions of different kinds. (In this case, you could use '=randomInt(0,1)' to produce a coin flip.
http://getguesstimate.com/models/365
- The arbitrary two-letter codes were simply the easiest thing to begin with. I started with something derived from the names, but this presented problems with cells with empty names, especially ones that started empty and later become non-empty. Excel has a pretty sophisticated model for referencing cells. For the sake of getting something shipped, I started with a very simple one. Definitely an area to improve.
- I'd love to talk sometime. I'm also in SF, will send you an email. Thanks for the advice!
Feel free to play with it. You can edit it, just not save it. (I recently realized this was not obvious to most people)
I think that this works fine for small models, which is much of what exists now. As there are larger models, I'd eventually like to offload calculations to AWS Lambda or something similar, so we can do far more.
I suggest trying it out. If nothing else, you may be able to begin with very simple models of the most important variables.
A few weeks back I used the tool to help a friend decide which mortgage option to take for his house. One house has a slightly lower APR than the other, but was a had a higher assistance fee.
After fiddling with it, it looked like the one with the lower assistance fee was the better option. But perhaps more important, it didn't seem like it made a big difference; perhaps around $200 after 10 years. This was a good indication that the choice didn't really matter; that it wasn't something to spend over a few hours worrying about.