Skip to main content

Signals and Baselines

frugally.app continuously tracks signals across your AWS environment and establishes baselines that represent normal behaviour. When a signal deviates from its baseline, it can trigger an anomaly or alert.


What signals are tracked

Cost signals

SignalSourceGranularity
Total daily spendAWS Cost Explorer APIDaily
Per-service spendAWS Cost Explorer APIDaily
Per-account spendAWS Cost Explorer APIDaily
Per-region spendAWS Cost Explorer APIDaily

Usage signals

SignalSourceGranularity
EC2 CPU utilisationCloudWatchHourly
RDS connectionsCloudWatchHourly
ECS running task countCloudWatchHourly
Lambda invocation countCloudWatchHourly

Resource count signals

SignalSourceGranularity
Running EC2 instancesEC2 DescribeInstancesHourly
Active RDS instancesRDS DescribeDBInstancesHourly
Active ECS servicesECS ListServicesHourly
Active NAT GatewaysEC2 DescribeNatGatewaysHourly

How baselines are established

Baselines are calculated using a 7-day rolling window of historical data. frugally.app computes:

MetricDescription
MeanAverage signal value over the window
Standard deviationHow much the signal typically varies
Day-of-week patternSeparate baselines for each day of the week (e.g. weekdays vs weekends may differ)
Upper/lower boundsThe expected range based on mean ± configured sensitivity

Baselines update daily as new data arrives, so they adapt to gradual changes in your environment.


Baseline sensitivity

Sensitivity controls how wide the baseline bounds are. A tighter sensitivity triggers anomalies sooner; a looser sensitivity tolerates more variance.

SensitivityBoundsBest for
HighMean ± 1 standard deviationStable environments with predictable spend
Medium (default)Mean ± 2 standard deviationsMost teams — balances detection with noise
LowMean ± 3 standard deviationsVariable environments or early-stage teams

Configure sensitivity at Settings > Monitoring > Baseline Sensitivity.

tip

Start with Medium sensitivity. If you receive too many false positives, lower the sensitivity. If anomalies are being missed, increase it.


Baseline warm-up

When you first connect an AWS account, frugally.app needs at least 7 days of data to establish a baseline. During this warm-up period:

  • Signals are collected and displayed on the monitoring dashboard
  • Baselines show as "establishing" with a progress indicator
  • Anomaly detection is disabled until the baseline is ready
  • Manual alert rules (threshold-based) work immediately

Viewing signals and baselines

Navigate to Monitoring > Signals to see:

ViewDescription
Signal listAll tracked signals with current value and baseline status
Signal detailTime-series chart showing the signal, baseline bounds, and any anomaly markers
Baseline healthWhether the baseline is established, warming up, or has insufficient data

Custom signals

In addition to the built-in signals, you can configure custom signals based on:

  • Tag-based cost grouping — Track spend for resources with a specific tag (e.g. Team:backend spend)
  • Combined signals — Track the sum or ratio of multiple signals (e.g. cost per running instance)

Custom signals follow the same baseline and anomaly detection rules as built-in signals.