How it worksOne engine keeps running totals for everything your product tracks, and answers the moment something changes.
EventTotalAnswerDecision
AggregationsCount anything, per anything, over any windowReal timeAnswers in your app, pushed to your systemsDecisionsYour rules first, AI for the restWorkspaceBuild, test and change without codeSecurityIsolated, private, on record
Acme
Globex
Initech
Usage & limitsKeep usage live for every account and act before a customer hits a wall.
How much of their plan has each account used this month?
→ Warn the owner at 80 %
Customer insightEngagement, churn signalsTrust & safetyAbuse, fraud, account securitySaaSUsage and engagementBanking & fintechLimits, risk, KYCE-commerceOrders and returnsIoT & industryReadings and silenceGamingFair, safe playMobilityFleets and driversAll use cases
QuickstartTwo calls in your hot path: send events, ask questions.
POST /v1/events
POST …/profiles/usage_check:evaluate
→ { "reasons": ["near_limit"] }
DocsConcepts and guidesAPI referenceEvery endpointTechnical overviewArchitecture and limitsAuthenticationKeys, OAuth, workload identitySelf-hostingHelm and Docker Compose
SecurityA database per customer, scrambled identifiers, everything on record.
Acme
Globex
Initech
DeploymentShared, dedicated, your cloudPlatformsLive numbers for your own customersContactTalk to a personChangelogWhat we shipped
Pricing
Product
How it worksFrom events to live numbers to actionAggregationsCount anything, per anything, over any windowReal timeAnswers in your app, pushed to your systemsDecisionsYour rules first, AI for the restWorkspaceBuild, test and change without codeSecurityIsolated, private, on record
Use cases
Usage & limitsQuotas, plans, meteringCustomer insightEngagement, churn signalsTrust & safetyAbuse, fraud, account securitySaaSUsage and engagementBanking & fintechLimits, risk, KYCE-commerceOrders and returnsIoT & industryReadings and silenceGamingFair, safe playMobilityFleets and driversAll use cases
Developers
QuickstartYour first live numberDocsConcepts and guidesAPI referenceEvery endpointTechnical overviewArchitecture and limitsAuthenticationKeys, OAuth, workload identitySelf-hostingHelm and Docker Compose
Company
SecurityHow your data is kept apartDeploymentShared, dedicated, your cloudPlatformsLive numbers for your own customersContactTalk to a personChangelogWhat we shipped
Pricing
Sign inRequest access

Turn every event into a live number you can act on — for any industry, in any region.

Request access

Product

  • How it works
  • Events and answers
  • Decisions
  • Pricing
  • FAQ

Use cases

  • Usage & limits
  • Banking & fintech
  • Operations & IoT
  • Trust & safety
  • All use cases

Developers

  • Docs
  • API reference
  • Quickstart
  • Technical overview

Company

  • Security
  • Deployment
  • Platforms
  • Contact
  • Changelog
© 2026 AggrelisTermsPrivacyCookiesData centers worldwide
Use cases · By industry

Orders, returns and sellers, counted as they happen.

Know how often each customer orders, how much they send back and whether a new seller is selling far beyond its history: at checkout, before a refund, before a payout. Aggrelis keeps the running totals; your shop decides what to do with them.

Request accessSee the questions
Live questions · illustrative
How many orders did this customer place this week?Loyalty · their own week
2/ 5 · this week
Unlock a reward
watching
Who returns most of what they buy?Returns · 90 days
% returned28 %
Review the next refund
watching
Is this new seller selling far beyond its usual day?Marketplace · payouts
sales per hour
Hold the payout
watching
What you can ask

The questions this answers

Typical questions, each with the window it usually looks at. Thresholds are starting points you set yourself.

  • Orders this week

    How many orders did this customer place since Monday, counted in their own time zone?

    calendar week, customer's time zone
  • Serial returners

    What share of this customer's orders came back, and what was it worth?

    rolling 90 days
  • Abandoned carts

    Which carts were left alone for an hour without a checkout?

    1 hour without a cart update
  • New seller spike

    Is this seller, weeks after joining, selling far more in a day than on its usual day?

    last 24 hours vs 30-day daily mean
  • One coupon per person

    Has this device or card already redeemed the welcome coupon on another account?

    lifetime, per device and per card
  • Sales per category

    How much did all the sellers in this category sell today, added up?

    calendar day, seller → category
Worked example

Hold a new seller's payout when its sales jump

A seller that joined two weeks ago suddenly sells many times its usual day. Before each payout run, your marketplace asks Aggrelis about the seller and holds the payout for a person to look at when a condition holds. The thresholds are starting values you set and adjust.

  • Send every order and refund with the seller's id and the amount
  • Define the seller's sales over 24 hours and 30 days, its refunds, and conditions for a spike and a new seller
  • Ask about each seller before the payout run
  • Act on the conditions: hold those payouts for review, release the rest
POST /v1/events
{
  "id": "ord_88213",
  "type": "order_placed",
  "ts": "2026-10-22T10:22:55Z",
  "attrs": {
    "customer_id": "c_1001",
    "seller_id": "s_2045",
    "amount": "249.90",
    "currency": "EUR"
  }
}
POST /v1/admin/profiles
{
  "name": "seller_payouts",
  "description": "A seller's sales against its own history",
  "spec": {
    "entity": "seller",
    "features": {
      "sales24h": {"state": "sales_by_seller",
        "window": {"rolling": "24h"}},
      "sales7d": {"state": "sales_by_seller",
        "window": {"rolling": "7d"}},
      "sales30d": {"state": "sales_by_seller",
        "window": {"rolling": "30d"}},
      "refunds7d": {"state": "refunds_by_seller",
        "window": {"rolling": "7d"}}
    },
    "derived": [
      {"name": "usualDay", "expr": "sales30d / 30.0"},
      {"name": "refundRate7d",
       "expr": "sales7d > 0.0 ? refunds7d / sales7d : 0.0"},
      {"name": "sellerAgeDays",
       "expr": "days_between(entity.onboardedAt, now)"}
    ],
    "reasons": [
      {"name": "sales_spike",
       "when": "sales24h >= 2000.0 && sales24h > 5.0 * usualDay"},
      {"name": "refund_spike",
       "when": "sales7d >= 500.0 && refundRate7d >= 0.2"},
      {"name": "new_seller",
       "when": "sellerAgeDays < 30 && sales24h >= 1000.0"}
    ]
  }
}
POST /v1/entities/seller/s_2045/profiles/seller_payouts:evaluate
{
  "entity": {"type": "seller", "id": "s_2045"},
  "values": {
    "sales24h": "3120.00",
    "sales7d": "4410.00",
    "sales30d": "5790.00",
    "refunds7d": "180.00",
    "usualDay": 193,
    "refundRate7d": 0.041,
    "sellerAgeDays": 14
  },
  "reasons": ["sales_spike", "new_seller"],
  "degraded": [],
  "skipped": [],
  "profileVersion": "seller_payouts@v2",
  "evaluatedAt": "2026-10-22T10:30:00.412093551Z"
}
Illustrative. Field names are examples.
What it uses

The parts of Aggrelis behind it

Nothing built for one industry: the same building blocks, configured for this job.

  • Each customer's own week

    Calendar weeks and months start at each customer's local midnight; rolling windows move with the clock.

  • Exact money

    Order, return and refund amounts kept to the cent, one currency per total.

  • Seller roll-ups

    One sale counts for the seller and for its category at once.

  • Triggers and webhooks

    Check an order as it arrives, or be told when a cart has sat untouched for an hour.

  • Decisions

    Release, review or hold a payout, with your rules first and a safe answer always.

  • Change without a release

    The team that owns payouts or loyalty adjusts thresholds in the workspace and tests them on recent orders.

Related

Often used together

  • Customer insightEngagement, churn signalsWhich accounts went quiet this week?
  • Trust & safetyAbuse, account security, riskHow many failed sign-ins from this network in 15 minutes?
  • MobilityFleets and driversHow long has this driver been on the road today?
Early access

Your first live numbers, configured not coded

Tell us what you would count first, and we'll help you set it up.

Request accessSee how it works