[HN Gopher] Ambsheets: Spreadsheets for Exploring Scenarios
       ___________________________________________________________________
        
       Ambsheets: Spreadsheets for Exploring Scenarios
        
       Author : azhenley
       Score  : 159 points
       Date   : 2025-02-04 23:56 UTC (23 hours ago)
        
 (HTM) web link (www.inkandswitch.com)
 (TXT) w3m dump (www.inkandswitch.com)
        
       | ziddoap wrote:
       | It's interesting, for sure, but I'm not buying that this is much
       | better than just setting up some extra columns. The two arguments
       | presented against extra columns are 1) editing time and 2) space.
       | 
       | 1) Editing can be sped up, albeit with a learning curve, so
       | _maybe_ I can see that one. At least at my proficiency, I doubt I
       | 'd be saving any material amount of time. I can think of
       | scenarios where this would actually be slower for me. People with
       | less experience in spreadsheets might find some time savings,
       | it's hard for me to gauge that.
       | 
       | 2) Space, on the other hand, I'm not really buying. You replace
       | extra columns with a wider column and a bespoke UI piece on the
       | right-hand side. I can see columns A:H in the column example, and
       | columns A:B in the final Ambsheet example (which, funny enough,
       | is displayed as a 2x3 spreadsheet -- why not just have those 6
       | cells right in the sheet?).
       | 
       | This also seems much more difficult to do visualizations from.
       | Graphs, conditional formatting, etc. But that part isn't
       | discussed, so there may be a solution for that which isn't shown.
       | 
       | It's interesting enough that I would enjoy playing around with
       | it. I very well could just be entrenched in my habits.
        
       | barathr wrote:
       | This is a neat idea, and one that I frequently find a need for.
       | (I was curious how it'd work, so I copied and pasted the
       | description and screenshot of the UI into Claude and in two
       | prompts it built a working React app prototype.)
        
         | aa_memon wrote:
         | Would you be open to sharing the code?
        
           | barathr wrote:
           | Sure, here's what Claude generated (all the usual caveats
           | apply): https://pastebin.com/Xbs2qasH
        
             | aa_memon wrote:
             | Thank you
        
       | phonon wrote:
       | Excel has "Scenario Manager", "Goal Seek", and "Data Table" for
       | What If Analysis. In particular, "Data Table with Multiple
       | Arguments" seems like a similar/more powerful version of what you
       | are doing, which you don't address.[0]
       | 
       | [0] https://www.xelplus.com/excel-what-if-analysis-data-table/
        
         | Closi wrote:
         | This was my thinking too - data tables can often do this.
         | 
         | The negative of data tables is that it massively slows down
         | your spreadsheet, and cause some weird errors/glitches, but
         | it's essentially the same thing.
        
         | world2vec wrote:
         | And "Solver", in case you need something really sturdy.
        
       | ai-christianson wrote:
       | At this point I think I'd just resort to throwing together a
       | quick script in Python or Julia to run the scenarios.
        
       | batmenace wrote:
       | I think it's a neat idea (maybe because I was talking over ow to
       | do something similar in Python, specifically for financial
       | analysis). Definitely feels like an early stage, but I would love
       | to see where it goes.
        
       | dfex wrote:
       | The ideas and prototypes coming out of inkandswitch are really
       | interesting.
       | 
       | It feels like user interface innovations all stopped/stagnated in
       | the early 2000s and we've just spent the last 20 years adjusting
       | the previous 20 years of desktop UI paradigms to the mobile and
       | tablet space.
       | 
       | It's great to see people still working on interesting problems
       | like this
        
         | batmenace wrote:
         | Couldn't agree more. Spent the evening reading though some of
         | their work, and it's all so... fun. Just exploring fun and
         | potentially useful ideas not restricted to what tools already
         | exist (which seems to be the case much of the time)
        
       | WillAdams wrote:
       | This would be a lot more interesting if these folks would release
       | their product/code.
       | 
       | https://www.inkandswitch.com/crosscut/
       | 
       | https://www.inkandswitch.com/inkbase/
       | 
       | are very interesting and promising, but not available for
       | use/experimentation.
        
         | spiralganglion wrote:
         | We recently open sourced Inkling [1] (which is a spiritual
         | successor to Crosscut) and the iPad Wrapper [2] app we used to
         | prototype Crosscut, Inkling, and other projects. We're also
         | going to share some more similarly-interesting non-essay output
         | from our research in the near future.
         | 
         | [1] https://github.com/inkandswitch/inkling
         | 
         | [2] https://github.com/inkandswitch/wrapper
        
           | WillAdams wrote:
           | Thank you.
           | 
           | I'm peripherally involved in a similar project:
           | 
           | https://github.com/IndiePython/myappmaker-sdd
           | 
           | and appreciate anything which could be shared which might be
           | helpful or inform development.
           | 
           | I will note that if you would try either Android or a Windows
           | tablet w/ a Wacom EMR stylus you should be able to get the
           | sort of input you want --- or maybe on a Mac w/ a Wacom One
           | Gen 2 13 inch or Movink 13 or Cintiq w/ Touch display?
        
       | somat wrote:
       | "what if a single cell could hold multiple values at once?"
       | 
       | Somebody is rediscovering why slide rules are nice. you get your
       | answer but you simultaneously get nearby answers as well.
       | 
       | I am not sure what the modern ui equivalent would be. a plot?
        
       | _blk wrote:
       | If I may ask, what spreasheet program is running underneath?
        
       | xrd wrote:
       | Not a surprise that this comes from at least one person involved
       | in dabbledb twenty years ago (later acquired by Twitter). Avi
       | Bryant, now sponsoring very interesting work.
        
         | thedays wrote:
         | dabbledb was awesome. Simple but powerful. I still miss it and
         | haven't found anything like it to replace it at a reasonable
         | price.
        
           | jdougan wrote:
           | I wonder if there is any way of getting X/Twitter to shake it
           | loose?
        
       | luizfelberti wrote:
       | Computation model behind this vaguely reminds me of the Epic
       | Games programming model thing for Verse Calculus:
       | https://simon.peytonjones.org/verse-calculus/
        
       | interestica wrote:
       | This + sports analytics. So much of sports is about slightly
       | different outcomes of related scenarios. There's not much
       | difference between a home run and a flyball caught at the wall.
       | But the data shows something very distinct and ignores the other
       | almost-as-likely outcome. Amb values has the potential to give
       | new ways of analyzing performance and outcomes.
       | 
       | (What I'm saying is get a big sports team to fund you)
        
       | nxobject wrote:
       | Re: computing with continuous distributions: I recall there was a
       | "show HN" a while ago with a graph-style interface to do
       | computations on continuous distributions, so you could very much
       | budget by modelling a plausible distribution of gas prices within
       | the month, of rental prices in your town, etc, and then see
       | plausible distributions of monthly spending.
       | 
       | I'm still trying to find it: anyone remember this, or did I just
       | Mandela Effect myself? I'm not sure whether it computed outputs
       | analytically or through simulation.
       | 
       | (Hell, I might just recreate it on my own...)
        
         | kqr wrote:
         | There is nothing free and good in this space, last I checked.
         | The alternatives I know of:
         | 
         | - GetGuesstimate[1] is probably the most polished, but
         | development on it is slow and it doesn't lean into the same
         | interaction patterns that I think make actual spreadsheets
         | popular.
         | 
         | - There are various plugins for the proprietary Microsoft Excel
         | that can do this. I don't remember their names off the top of
         | my head, but sometimes "Monte Carlo" is the phrase that unlocks
         | many searches around this. (Crystal Ball is a name of a plugin
         | that pops into my head.)
         | 
         | - One can hypothetically do this in vanilla spreadsheets, by
         | generating arrays of random values and
         | serialising/deserialising to space-separated strings in a cell.
         | This is very, very slow, though.
         | 
         | - I have started working on something I call Precel[2] which is
         | not very polished but I think the basic idea (if not the
         | current implementation) can be a solid foundation for a proper
         | spreadsheet-for-full-distributions.
         | 
         | [1]: https://www.getguesstimate.com/
         | 
         | [2]: https://git.sr.ht/~kqr/precel/tree/master/item/README.md
        
           | 8yt98z2b905o wrote:
           | @Risk is another excel add-in. Found it quite powerful and
           | useful:
           | 
           | https://lumivero.com/products/at-risk/
        
             | TeMPOraL wrote:
             | @Risk, or specifically their competition, is my
             | prototypical go-to example of "your SaaS product would be
             | much more useful and ergonomic for the user if it were
             | implemented as an Excel spreadsheet".
        
           | TeMPOraL wrote:
           | I miss GetGuesstimate. It was well-polished and surprisingly
           | powerful for what looked I remember being a prototype. For
           | the scenarios like that example in the article, it would
           | arguably fit better than spreadsheet interface.
           | 
           | Last time I used it was about 3 years ago - I used it to
           | estimate of how much we'll end up spending on renovating the
           | apartment we were planning to move it, and then updated it as
           | the work progressed to make decisions like whether we can
           | afford some optional elements of the plan, if we'll need to
           | get a loan to finish everything, and how much.
           | 
           | Structurally, I basically broken it down by rooms, categories
           | of work and stuff to buy - building materials, furniture.
           | Initially, I just guesstimated (!) the costs based on gut
           | feel, or web search. I'd start with things like: "my mom's
           | apartment had the same proportions and painting it costed $X
           | last year, ours is about Y% larger" -> one node "Painting
           | walls & ceilings except kids room", value = PERT distribution
           | between $X and $X * (1 + Y%) * Fudge factor. After we picked
           | the paint, I'd just split that node into a) labor and b)
           | material, the latter split into surface area (known), bucket
           | cost (known), buckets per sqm (distribution based on values
           | from the back of the bucket) - getting a much narrower
           | probability distribution on the material (and total) cost.
           | Stuff like this for every aspect - I'd just model the things
           | I know.
           | 
           | It was a bit of extra work, but it was instrumental for
           | keeping the costs in check and gave me great peace of mind.
           | It also made it obvious which aspects were driving the costs,
           | which were most risky - wide distributions going into large
           | amounts, which I prioritized pinning down the costs of - and
           | where it's worth to look for savings or alternatives.
           | 
           | Also, it demonstrated the usual case of webapps being
           | optimized for demo examples instead of real use cases. My
           | renovation planner quickly accumulated about a hundred nodes,
           | most of which were computing probability distributions (via
           | ~1k samples Monte Carlo). That slowed the UI down to a crawl,
           | and many times updating a node would create a cascade of
           | errors down the dependency graph, as the diminished
           | performance started surfacing race conditions in the
           | evaluator.
           | 
           | (You may ask, wouldn't it be better to do that stuff in code?
           | Not really - half of the value was in having every part of
           | the math as a node in visual, interactive DAG, that
           | _displayed histograms of the probability distributions_ at
           | every node, so you could just _see_ everything all the time.)
           | 
           | Still, I loved it, and I really wish someone made an actively
           | supported product like this.
        
         | vosper wrote:
         | Was it Projection Lab, which has been on HN before?
         | 
         | https://news.ycombinator.com/item?id=42450913
         | 
         | https://projectionlab.com/
        
         | curtisblaine wrote:
         | I remember that as well, so no Mandela effect, and I've been
         | trying to find it too. It had a graphical interface in which
         | you could specify the probability distribution of an event, and
         | the graph would resolve and show the calculated distributions
         | of all the steps.
        
           | curtisblaine wrote:
           | Pretty sure it was getguesstimate.com
        
       | tmoertel wrote:
       | This is like probabilistic programming but with implicit uniform
       | distributions over the supplied values.
        
       | ggm wrote:
       | How could you do linear optimisation over unrelated terms in
       | this? How could you implement the well known decision support
       | methods from Operations Research in this? How does it compare to
       | rows, or tables and extra columns?
        
       | anonzzzies wrote:
       | Only from the title I thought of mr Litt. I love work like this.
        
       | rvba wrote:
       | Being able to have multiple scenarios in cells is an interesting
       | idea.
       | 
       | Although the thing is, that it would be nice to have weights too.
       | 
       | Usual answer is to keep various options in separate columns (e.g.
       | worst case, normal case, best case), problem is that often you
       | want more scenarios and some have 3 options while other have 10
        
       | portalcell wrote:
       | If you liked this you might also enjoy this little toy project:
       | https://blog.singleton.io/posts/2021-11-24-probabilistic-spr...
        
       | globalise83 wrote:
       | "Excel requires the user to manually enter every scenario--even
       | in the simple example above, exploring 2 cars, 3 apartments, and
       | 2 Netflix plans would require entering 12 scenarios, with names
       | like "Cheap Car / Medium apartment / Premium Netflix". In
       | contrast, an ambsheet automatically computes all combinations of
       | the three amb values."
       | 
       | Presumably this tool only works for relatively small possibility
       | spaces due to the problem of combinatorial explosion?
        
         | rachofsunshine wrote:
         | As long as the operations you're doing aren't too numerically
         | unstable, you could have it use monte carlo methods for
         | moderate numbers of inputs. Sample, say, 10,000 values across
         | the inputs and output averages, output min, 5th percentile,
         | median, 95th percentile, max. Right now I do this either with
         | Python or some auxiliary column full of random values.
         | 
         | If you were doing it that way, you could also set
         | distributional values for the variables. Rather than x = {500,
         | 1000}, you could set (say) X ~ N(750, 100) and have it pull
         | samples from that distribution. If you _really_ wanted to get
         | fancy you could take advantage of known results on operations
         | on distributions to keep things exact for a lot of common
         | calculations, then turn to numerical methods for uglier
         | operations (at which point you 're basically building a wrapper
         | around one of the usual statistical libraries, I suppose).
         | 
         | (EDIT: apparently this already exists, see other comments in
         | this thread.)
        
       | arunaugustine wrote:
       | This is exactly what I loved about the Causal app (no
       | affiliation). They started as a general purpose spreadsheet with
       | 'Amb' cells built-in, though later on they seem to have converged
       | on the financial modeling space.
       | 
       | [0]: https://causal.app/
        
       | gcanyon wrote:
       | This does a clever job of dealing with the multiple varied inputs
       | to a scenario.
       | 
       | A real budgeting scenario might have 2 * 3 * 7 * 4 * 5 * 3 * 9 *
       | 2 * 5 = 226,800 possible outcomes, so the obvious question is
       | what UI do you use to consider/narrow down that beast? You need
       | tools that let you slice and dice that output based on different
       | sets of criteria.
       | 
       | The simplest might be something like, "rule out all solutions
       | that total more than $5000" but you also need things like "I will
       | only pay for a total of 3 streaming services, rule out all
       | scenarios with more than that" and "if I choose not to have a
       | car, then I have to get a transit pass and an e-scooter"
       | 
       | I almost feel like, as clever as this is, the harder problem is
       | the one I describe above.
        
         | gklitt wrote:
         | We totally agree! Stay tuned for our next posts on that topic
         | :)
        
       | jFriedensreich wrote:
       | I think the best solution to this was Quantrix. The multi
       | dimension, multi scenario modelling just felt right and natural.
       | It still exists but seems to be locked into a different price
       | point and target audience and outdated app UI. Someone should
       | make an airtable like experience for what quantrix was.
        
         | WillAdams wrote:
         | Yes, but it was Lotus Improv (and the earlier text-based
         | spreadsheet Javelin) which did it first.
         | 
         | There is also the opensource Flexisheet:
         | 
         | https://github.com/NattyNarwhal/FlexiSheet
         | 
         | which I wish someone would fork and get running again.
        
       ___________________________________________________________________
       (page generated 2025-02-05 23:02 UTC)