Skip to content

Instantly share code, notes, and snippets.

@jordangarcia
Last active April 15, 2026 00:12
Show Gist options
  • Select an option

  • Save jordangarcia/4d8acca9e45f2a1bc3df151fe6e26b10 to your computer and use it in GitHub Desktop.

Select an option

Save jordangarcia/4d8acca9e45f2a1bc3df151fe6e26b10 to your computer and use it in GitHub Desktop.
Datadog Renewal 2026 - Contract Overview & Recommendations
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Datadog Renewal 2026 — Contract Overview & Recommendations</title>
<style>
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
color: #1a1a1a;
max-width: 900px;
margin: 0 auto;
padding: 40px 32px;
font-size: 14px;
line-height: 1.5;
}
h1 {
font-size: 22px;
font-weight: 700;
margin-bottom: 4px;
}
.subtitle {
color: #666;
font-size: 13px;
margin-bottom: 28px;
border-bottom: 2px solid #1a1a1a;
padding-bottom: 12px;
}
h2 {
font-size: 15px;
font-weight: 700;
margin-top: 24px;
margin-bottom: 8px;
text-transform: uppercase;
letter-spacing: 0.5px;
color: #333;
}
h3 {
font-size: 14px;
font-weight: 600;
margin-top: 16px;
margin-bottom: 6px;
}
p, li {
font-size: 13px;
line-height: 1.55;
margin-bottom: 6px;
}
ul {
padding-left: 18px;
margin-bottom: 10px;
}
li { margin-bottom: 4px; }
table {
width: 100%;
border-collapse: collapse;
margin: 8px 0 16px;
font-size: 12.5px;
}
th {
text-align: left;
font-weight: 600;
padding: 6px 10px;
border-bottom: 2px solid #333;
font-size: 11px;
text-transform: uppercase;
letter-spacing: 0.3px;
color: #555;
}
td {
padding: 5px 10px;
border-bottom: 1px solid #e5e5e5;
}
tr:last-child td { border-bottom: none; }
.warn { color: #c0392b; font-weight: 600; }
.ok { color: #27ae60; font-weight: 600; }
.muted { color: #888; }
.callout {
background: #f8f4ec;
border-left: 3px solid #d4a843;
padding: 10px 14px;
margin: 12px 0;
font-size: 13px;
}
.callout-red {
background: #fdf2f2;
border-left: 3px solid #c0392b;
padding: 10px 14px;
margin: 12px 0;
font-size: 13px;
}
.two-col {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 20px;
}
.section { margin-bottom: 20px; }
strong { font-weight: 600; }
.tag {
display: inline-block;
font-size: 10px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.5px;
padding: 2px 6px;
border-radius: 3px;
vertical-align: middle;
}
.tag-yes { background: #e8f5e9; color: #2e7d32; }
.tag-no { background: #fce4ec; color: #c62828; }
.big-number {
font-size: 28px;
font-weight: 700;
color: #c0392b;
}
.big-label {
font-size: 12px;
color: #888;
text-transform: uppercase;
letter-spacing: 0.5px;
}
@media print {
body { padding: 20px; }
.callout, .callout-red { break-inside: avoid; }
table { break-inside: avoid; }
}
</style>
</head>
<body>
<h1>Datadog Renewal 2026</h1>
<div class="subtitle">Q-915897 &middot; Drawdown Contract &middot; Apr 2026 &ndash; Mar 2027 &middot; Base Fee: $300K &middot; DRAFT</div>
<div class="two-col section">
<div>
<h2>How the Drawdown Works</h2>
<p>Pay <strong>$300K upfront</strong> for the year. Each month, actual usage &times; sales prices is deducted from the balance.</p>
<ul>
<li><strong>Monthly minimums</strong> ($19K&ndash;$32K/mo, totaling $300K) &mdash; if actual usage is below the minimum, the minimum is deducted anyway.</li>
<li><strong>Overages</strong> &mdash; if usage exceeds the minimum, the full amount is deducted. Once the $300K is exhausted, monthly invoices begin at the same rates.</li>
<li><strong>No refund</strong> on unused balance at year-end.</li>
</ul>
</div>
<div>
<h2>Pricing Tiers</h2>
<p>Not all services are created equal:</p>
<p><span class="tag tag-yes">Discountable</span> Log Events, Indexed Spans, APM Hosts, Infra Hosts, RUM, Synthetics</p>
<p style="margin-top: 6px;"><span class="tag tag-no">Never Discounted</span> Ingested Spans, Log Ingestion, Metrics Ingestion &mdash; always list price, explicitly excluded from any discount including the 8% optional services discount.</p>
<h3>Renewal Ratchet</h3>
<p>If your average usage of any service is <em>below</em> its projection, Datadog can raise unit rates for that service on the next renewal. Projections must match reality.</p>
</div>
</div>
<h2>Actual Usage vs Contract Projections (Oct 2025 &ndash; Mar 2026)</h2>
<table>
<tr>
<th>Service</th>
<th>Contract Projection</th>
<th>Actual Avg/mo</th>
<th>Est. Monthly Cost</th>
<th>Status</th>
</tr>
<tr>
<td>Log Events (indexed)</td>
<td>4,800 M</td>
<td>~16,000 M</td>
<td><strong>~$27,200</strong></td>
<td><span class="warn">3.3x over</span></td>
</tr>
<tr>
<td>Ingested Spans <span class="tag tag-no">No Discount</span></td>
<td>41,200 GB</td>
<td>~72,000 GB</td>
<td>~$7,200</td>
<td><span class="warn">1.75x over</span></td>
</tr>
<tr>
<td>Indexed Spans</td>
<td>2,200 M</td>
<td>~1,762 M</td>
<td>~$3,000</td>
<td><span class="warn">20% under &mdash; ratchet risk</span></td>
</tr>
<tr>
<td>Log Ingestion <span class="tag tag-no">No Discount</span></td>
<td>16,000 GB</td>
<td>~20,000 GB</td>
<td>~$2,000</td>
<td><span class="warn">23% over</span></td>
</tr>
<tr>
<td>APM Hosts</td>
<td>45</td>
<td>~50 (trending up)</td>
<td>~$2,000</td>
<td class="muted">Immaterial</td>
</tr>
<tr>
<td>Everything else</td>
<td>&mdash;</td>
<td>&mdash;</td>
<td>~$1,500</td>
<td class="muted">&mdash;</td>
</tr>
</table>
<div class="callout-red">
<div style="display: flex; align-items: baseline; gap: 24px;">
<div>
<div class="big-number">~$42K/mo</div>
<div class="big-label">Estimated actual spend</div>
</div>
<div>
<p>At this rate the $300K drawdown exhausts around <strong>month 7 (October 2026)</strong>. Remaining 5 months billed at ~$42K/mo = <strong>~$210K in overages</strong>. Total annual spend: <strong>~$510K</strong>.</p>
</div>
</div>
</div>
<div class="two-col">
<div>
<h2>Recommended Projection Changes</h2>
<table>
<tr><th>Service</th><th>Current</th><th>Recommended</th></tr>
<tr>
<td>Log Events</td>
<td>4,800 M</td>
<td><strong>14,000&ndash;16,000 M</strong></td>
</tr>
<tr>
<td>Ingested Spans</td>
<td>41,200 GB</td>
<td><strong>70,000&ndash;75,000 GB</strong></td>
</tr>
<tr>
<td>Log Ingestion</td>
<td>16,000 GB</td>
<td><strong>20,000 GB</strong></td>
</tr>
<tr>
<td>Indexed Spans</td>
<td>2,200 M</td>
<td><strong>1,800 M</strong></td>
</tr>
</table>
<p style="font-size: 12px; color: #666;">Match projections to actual usage. Over-projecting triggers the renewal ratchet (rate increases for under-use). Under-projecting has no benefit since overages are billed at the same rate.</p>
</div>
<div>
<h2>Negotiation Priorities</h2>
<h3>1. Log Events rate &mdash; the only lever that matters</h3>
<p>Currently $1.70/M (17% off list). At ~16B events/mo this is <strong>65% of total spend</strong>. Push for <strong>$1.30&ndash;$1.50/M</strong>.</p>
<p><strong>Savings at $1.40/M: ~$58K/yr</strong></p>
<h3>2. Reduce ingested span volume</h3>
<p>Ingested spans can never be discounted &mdash; $0.10/GB is the price forever. At ~72K GB/mo that's $86K/yr at full list with no negotiation path. The only option is to use less: tighter sampling, dropping noisy services, reducing span payload size. Every 10K GB/mo cut = <strong>$12K/yr saved</strong>.</p>
<div class="callout-red" style="margin-top: 14px;">
<strong>The span ingestion trap:</strong> Over-committing on ingested spans is pure downside. The projection doesn't lock in a discount (there is none). But if you project 75K GB and later reduce volume below that, the renewal ratchet kicks in and Datadog raises rates on your <em>other</em> services. High span ingestion projections create a floor you can't shrink from without penalty, on a line item you can never get cheaper. Keep the projection conservative and invest engineering effort in reducing the volume instead.
</div>
<h3>3. Shift observability toward logs where possible</h3>
<p>Logs are the better deal. Indexed log events get a real discount ($1.70 vs $2.04 list, and negotiable further). Ingested spans never do. Where you have a choice between capturing data as a span vs a log, the log is cheaper <em>and</em> the rate is negotiable. Favor log-based observability for high-volume, low-cardinality data.</p>
<div class="callout" style="margin-top: 14px;">
<strong>Don't bother negotiating:</strong> APM/Infra host rates (too small to matter), ingestion rates (contractually impossible), indexed span rates (already discounted, low volume).
</div>
</div>
</div>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment