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.