All cheat sheets
Serverless & AIcheat sheet

SageMaker Savings Plans

Commit to a $/hour of SageMaker compute for 1–3 years and get up to 64% off — flexible across instance types, regions, training, and inference. The discipline: commit to 70–80% of your proven baseline, never your peak, and never mid-migration.

Last reviewed: July 11, 2026

TL;DR: SageMaker Savings Plans discount everything up to a committed $/hour — notebooks, training, processing, real-time endpoints — by ~20–64% depending on term and prepayment, and the discount follows you across instance types and regions. You pay the commitment whether you use it or not, with no refunds or cancellation, so the entire game is committing to your floor: 70–80% of the usage level you never drop below. Steady 24/7 inference is the textbook fit; bursty training is not (that's Spot's job).

The numbers

  • Discount tiers: 1-year no-upfront ~20–30% · 1-year all-upfront ~30–45% · 3-year all-upfront up to 64%
  • Worked example: a $12/hour 24/7 endpoint ($8,640/month On-Demand) with a $10/hour plan at ~40% off lands near $5,184/month — ~$41k/year saved from one purchase
  • Field example: a recommendation engine on ml.g4dn 24/7 at ~$18k/month committed $12/hour partial-upfront (42%) → **$91k/year saved**
  • Not covered: storage, data transfer, and anything outside SageMaker

Do this

  1. Pull 3–6 months of SageMaker usage in Cost Explorer at daily granularity, split inference from training. Less history than that = don't commit yet.

  2. Find the floor, not the average: the $/hour you never dip below, excluding spend that shouldn't be committed (Spot training, serverless, experiments).

  3. Commit to 70–80% of that floor. Overage bills at On-Demand — leaving headroom costs a little upside; overcommitting costs real money monthly.

  4. Verify AWS's recommendation, don't trust it — the console suggestion skews optimistic. Your floor math wins.

  5. Layer, don't lump: commit at the steady inference baseline; keep training on Managed Spot (bigger discounts, zero commitment) and sporadic endpoints on serverless. Start small — you can stack additional plans later as the baseline grows.

  6. Assign an owner in multi-team accounts to watch plan utilization; an unwatched commitment quietly drifts to waste as teams re-architect.

Gotchas

  • No cancellation, no rollover, no refunds — unused commitment is paid in full. Measure twice.
  • The mid-migration trap: one team committed $20/hour, then moved half their inference to Lambda three months later — and kept paying for compute they'd stopped using. Any re-platforming in flight = wait.
  • Peak ≠ baseline: committing to current-quarter peak is the standard sizing error.
  • Bursty, experiment-heavy usage (weeks of $5k training, then $500) has no floor worth committing to — Spot and On-Demand serve that shape better.

Skip this if

  • You're still experimenting or have under ~3 months of stable production usage.
  • Training dominates the bill and it's bursty — Spot saves more with zero lock-in.
  • An architecture change is underway that alters your compute shape — commit after it lands. The one-question test: "will I burn at least this much SageMaker compute every hour for the next 1–3 years?" Anything but "yes" means smaller or later.

Run this audit with your AI assistant

Paste this into Claude, ChatGPT, or any agent that can run the AWS CLI with read-only credentials. It audits your account for exactly the waste this sheet describes — and changes nothing.

You are sizing a SageMaker Savings Plan recommendation. Use the AWS
CLI / Cost Explorer READ-ONLY. Do not purchase or modify anything.

1. Usage history: Cost Explorer filtered to SageMaker, daily/hourly
   granularity, trailing 3–6 months — split by usage type: real-time
   endpoints (the committable core), training, processing, notebooks.
2. Compute the FLOOR: the sustained minimum $/hour across the period
   (not average, not peak). Exclude: spend already on Spot (training),
   serverless inference, storage, and data transfer (not covered by
   the plan).
3. Recommendation: commit at 70–80% of the floor. Show the discount
   tiers (1-yr no-upfront ~20–30%, 1-yr all-upfront ~30–45%, 3-yr
   all-upfront up to 64%) applied to the recommended commitment, and
   the annual savings range.
4. Disqualifiers to check and report:
   - Usage trend falling or architecture changes in flight (endpoints
     being migrated to Lambda/serverless) → advise waiting.
   - Bursty training-dominated spend → advise Managed Spot instead of
     commitment.
   - AWS's own console recommendation, if visible, should be verified
     against the floor — it skews optimistic.
5. Remind: no cancellation, no rollover, unused commitment is paid
   regardless; multi-team accounts need an owner tracking utilization.

Report: usage summary, floor calculation, recommended commitment and
term/payment option with savings math, and the go/no-go verdict.
Purchase nothing.
Works with any assistant that can run shell commands.

Want the guided version?

The SageMaker Savings Plans walkthrough covers this topic interactively — it asks about your setup, branches to what’s relevant, and quizzes you on the tricky parts. Free and anonymous.

Start the walkthrough