What's New in Formula
New Functions
isDelta()
This is an easy way to create conditions for when a signal is rising or falling or to find step changes. It finds regions of the signal that have changed by at least a $delta
in a given window of time. It will grow the region for as long as it continues moving in the same direction while meeting those criteria.
$signal.isDelta($delta, $window)

aggregateByCount()
A new variant of this function calculates statistics for a signal during the previous N batches. It is useful for creating boundaries to know if the current batch has similar characteristics to recent batches. For example, it can help answer the question, “how does my current batch compare to the average of the last 3 batches?”
$signal.aggregateByCount(statistic(), $batches, $capsuleCount, $searchWindow)
Changed Functions
join() near now
The join()
function connects capsules from a start and end condition, but what happens when the end capsule hasn’t happened yet? In batch processing, you may want to do analytics on the current batch, knowing that the end will happen at some point in the future.
Before, the pending capsule would only be created up to the certainty of the end condition. In practice, this was well before now, making it difficult to study the current batch. Now the pending capsule from join() will extend to now() if the end capsule isn’t found yet.