Summit Event Language (SEL) Functions

One-stop-shop for a list of all event types with brief descriptions and examples.

Updated over a week ago

Generators

Events that create value.

Event Type

Behavior

Example(s)

Generates a stream of values.

=Source(100k)
=Source(100k @ 3%)
=Source(100k...110k @ 3%)

Generates values based on a specified curve shape.

=Curve('s', [365, 1k])

From a list of values, generates a trended series of values.

=Trend([12.1k,15.5k,13.6k,14.4k])
=Trend([100,300,200,225])

Extends a list of values using the slope between the last two values of the provided input.

=Extend([1,2,3,10])

Containers

Events that store value.

Event Type

Behavior

Example(s)

Collects values with no limit.

=Pool(1.4m)
=Pool(1.4m @ 1%)

Relays values downstream.

=Pipe(0)
=Pipe(0, 100)

Collects values up to a specified limit; overflow passes downstream.

=Bucket(0, 500)

Collects values up to a limit; empties when limit is reached.

=Tippingbucket(0, 500)

Releases a specific value from its store OR subtracts value from a downstream event each time it's triggered.

=Funnel(100k, 200)

=Funnel(0, -10k)

Opens on a schedule, releasing all of the value it has collected. Any value not sent downstream is retained.

=Gate(0)

Stores value in a container; container has a minimum and maximum size. Excess value and overdraws are passed downstream.

=Silo(100, [-50, 1k])
=Silo(100, [-100,])

Stores value in a rotating list that follows a calendar.

=Wheel(12)
=Wheel(4, [250, 200, 175, 99])

Stores values in a list; sends the sum of those values to downstream events. Second argument specifies retention by cohort.

=Base([] @ [95, 65, 54, 32, 23]%)

Timers

Events that manage time.

Event Type

Behavior

Example(s)

Insert a delay.

=Wait(7, 'days')
=Wait(3, 'months')

Close off the flow of values for a certain amount of time.

=Block(3, 'months')
=Block(1, 'year')
=Block(14, 'days')

Transforms

Events that alter a value.

Event Type

Behavior

Example(s)

Modify the value received or convert units before relaying it downstream.

=T('ceil')
=T('floor')
=T('abs')
=T('round')

=T('liters', 'gallons')

=T('inches', 'meters')

Conditionals

Events that test values.

Event Type

Behavior

Example(s)

Test a value and relay it if True.

=If('>', 0)
=If('gte', 5)

Test a value and relay it if True, but only once. False on all subsequent calls.

=Once('>', 100k)

Tiering & Scale

Events that perform matrix multiplication.

Event Type

Behavior

Example(s)

Define a set of tiers and identify which tier an inputted number belongs to.

=Tiering([5, 10, 20])

Define breakpoints; given a value, split it into those breakpoints.

=Scale([150, 250, 500])

Tunnels

Events that connect models.

Event Type

Behavior

Example(s)

Connect to an event from a different model.

=Tunnel("SaaS Marketing Model::Total Marketing Budget")

Requests

Events to fetch remote data.

Event Type

Behavior

Example(s)

Make a GET or POST request for JSON or CSV data.

=Request('get', 'https://api.example.com/x.json')

Parse and store a querystring.

=Querystring('lat=40&lon=-101')

Use a JSONPath expression to parse the output of a Request.

=Parser('$..coordinates.lat')


Did this answer your question?