Real-time analytics

Make your device data tell stories. Stops, trips, mileage, geofencing, driving quality — you define what metrics or events to detect; flespi analytics knows how to calculate them in no time.

Check analytics changelog for the latest updates and developments.

Join in to get instant insights with flespi

Instant insights

Real-time calculation of intervals thanks to a carefully thought-out architecture delivers condensed information gems immediately available in your app or solution.

User-defined logic

You are free to script any logical expressions that your business processes require — use any parameters that come in a message to find the answers you need.

Expressions of any complexity

Starting from the simple ones like speed<=5 to complex ones involving multiple parameters and nested functions, e.g. abs(speed-#speed)>10||round(mileage())>20. Combine parameters, perform mathematical and logical operations, refer to the previous values, validate missing values, etc.

Automatic recalculation

When the new messages arrive, the analytics engine will automatically recalculate all affected intervals in an instant. Even if it’s a black box with messages from long ago. BTW, you are in control of the recalculation period.

Long-term storage of results

Intervals contain aggregated data based on hundreds of messages. Therefore, storing intervals is more efficient. And in fact, more reasonable — it’s unlikely you will need raw messages from one year ago, however, it’s OK to have reports (i.e. intervals) from a few years back for analysis or comparison. You can set the raw messages TTL to a smaller period (e.g. a month) and set intervals TTL to a larger period (e.g. a year).



In a word, it's a summary for a set of messages meeting the specified criteria. Technically speaking, it's a JSON message with a set of mandatory fields ("begin", "end", "duration", "id", and "timestamp") and optional fields that appear only when a counter with such name is defined.


It's a set of rules used by the analytics engine to split device messages into intervals based on user-defined criteria.


It's a function extracting specific valuable pieces of information from the interval messages.


It's a combination of logical and mathematical operators, parameter references, and functions used to evaluate selectors and counters.


It's an entity in the analytics engine (and flespi panel) incorporating selectors, counters, and additional configuration for correct intervals calculation.

Assigned device

It's a flespi device appointed to the calculator to have its messages processed.

Join in to get instant insights with flespi