How the Pricing Algorithm Works

No black box. Here is exactly how GPU Autopilot decides what price to set for your machines, step by step.

The Pricing Cycle

Every 2 to 3 minutes, the agent runs a pricing cycle for each of your enabled machines. Each cycle follows the same deterministic sequence: collect market data, filter competitors, calculate the optimal price, enforce your boundaries, and apply the result.

There is no machine learning, no neural network, no LLM in the loop. Every decision is pure math: if/else logic, median calculations, and boundary checks. This makes every action predictable, auditable, and explainable.

Step 1: Collecting Market Data

The agent pulls two distinct datasets from the marketplace:

Rented Offers (Primary Signal)

These are GPUs that are currently rented by someone. The prices here represent what renters are actually willing to pay. This is the market clearing price: proven demand at a proven price point. The agent uses this as its primary pricing signal.

Available Offers (Fallback Signal)

These are unsold listings, GPUs sitting idle waiting for a renter. Available prices are often inflated because hosts set aspirational prices that the market has not validated. The agent only uses available data as a fallback when rented data is insufficient.

This distinction matters. Most hosts price against available listings and end up in a race to the bottom against other unsold inventory. GPU Autopilot prices against what the market is actually clearing at.

Step 2: Filtering Competitors

Not every listing on the marketplace is a fair comparison. The agent applies strict filters to build an apples-to-apples competitor set:

  • Same GPU model: only compares RTX 4090 against other RTX 4090 listings, never against RTX 3090 or A100
  • Same GPU count: a 2x RTX 4090 machine is compared against other 2x RTX 4090 machines, not single-GPU setups
  • Verified status match: verified hosts compete against verified hosts, unverified against unverified
  • Geographic region: based on your configuration: Global, US Only, North America, or Europe. If you set US Only, the agent ignores European and Asian competitors
  • 95%+ host reliability: unreliable hosts (below 95% uptime score) are excluded from all competitor calculations. Their unstable pricing would distort your data
  • Datacenter exclusion: datacenter-class machines are excluded from all pricing data, as they operate in a fundamentally different market segment

Step 3: Calculating the Target Price

With the filtered competitor set, the agent follows a decision tree:

Scenario A: Competitor exists below the rented median

If there is a cheaper available competitor priced below the rented P50 median, the agent undercuts that competitor by your configured undercut amount. This is because renters browse listings sorted by price, so being slightly cheaper than the nearest competitor maximizes your chance of getting rented.

Scenario B: No cheaper competitor

If you are already the cheapest listing (or no competitor exists below the median), the agent targets the rented P50 median directly. This is the price point where 50% of active rentals are trading, representing the typical market rate.

Scenario C: Already cheapest and below median

If your current price is already the cheapest and it is below the median, the agent raises your price toward the next competitor. There is no reason to sit at the lowest price when you can capture more revenue without losing your competitive position.

Step 4: Enforcing Your Boundaries

After calculating the target price, the agent clamps it to your configured boundaries:

  • If the calculated price is below your floor, the agent sets it to exactly the floor. Your break-even point is never violated.
  • If the calculated price is above your ceiling, the agent sets it to exactly the ceiling. This prevents over-pricing during unusual demand spikes.
  • If the scheduler has an active override for today, the scheduler floor replaces your normal floor for the duration of that day.

Floor and ceiling enforcement is absolute. No market condition, competitor price, or algorithmic calculation can override your boundaries. You always have final control.

Step 5: Applying the Price

If the calculated price differs from your current listing price, the agent updates it on the marketplace via the API. If the price is already optimal (same as the target), the agent logs a "Held" action and moves on. No unnecessary API calls.

Every action, whether it changes the price or holds it, is logged in the Activity feed with:

  • The old price and the new price
  • The competitor price that influenced the decision
  • The rented median at the time
  • The exact reasoning in plain language

Interruptible (Spot) Pricing

GPU marketplaces offer two rental types: on-demand (guaranteed, higher price) and interruptible (spot, cheaper but can be preempted). GPU Autopilot manages both.

In Auto mode (recommended), your interruptible price stays at a fixed percentage discount below your on-demand price. The default is 10%. When the agent adjusts your on-demand price, the interruptible price automatically follows.

In Manual mode, you set a fixed dollar amount for interruptible pricing and the agent leaves it alone.

Choosing your discount is a tradeoff: a smaller discount (5 to 10%) keeps interruptible revenue close to on-demand, while a larger discount (30 to 50%) attracts more budget renters but at lower margins.

What Happens When Your Machine Gets Rented

When the agent detects that your machine has been rented, it pauses all pricing adjustments for that machine. There is nothing to optimize while the machine is earning revenue.

When the rental ends and the machine becomes available again, the agent immediately runs a fresh pricing cycle with current market data. This ensures you re-enter the market at a competitive price, not the stale price from before the rental.

A Worked Example

Machine: 1x RTX 5090, US region, floor $0.20, ceiling $0.60, undercut $0.01

  1. Agent pulls rented offers for 1x RTX 5090 in the US with 95%+ reliability. Finds 12 active rentals. Rented P50 median: $0.38/hr.
  2. Agent pulls available offers matching the same filters. Finds the cheapest competitor at $0.35/hr.
  3. $0.35 is below the rented median ($0.38), so the agent undercuts: $0.35 minus $0.01 = $0.34/hr.
  4. $0.34 is above the floor ($0.20) and below the ceiling ($0.60), so no clamping needed.
  5. Agent updates the listing price to $0.34/hr and logs: "Undercut cheapest competitor at $0.35 by $0.01."
  6. Interruptible price (Auto 10%): $0.34 x 0.90 = $0.306/hr.

Why This Approach Works

  • Speed: 2 to 3 minute cycles mean you respond to market changes faster than any human can
  • Accuracy: Rented data reflects proven demand, not wishful pricing from unsold inventory
  • Balance: The agent does not just race to the bottom. When you are already cheapest, it raises your price to capture more revenue
  • Safety: Floor and ceiling boundaries mean the agent can never make a decision that violates your economic constraints
  • Transparency: Every decision is logged with the exact reasoning. No black-box AI, just auditable math

See it in action on your own machines

Set up in under 3 minutes. Free test drives available through Discord.