<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 14 625 345" role="img" aria-labelledby="invisible-funnel-failure-title invisible-funnel-failure-desc" font-family="Inter, system-ui, -apple-system, Segoe UI, Roboto, sans-serif">
  <title id="invisible-funnel-failure-title">Invisible funnel failure</title>
  <desc id="invisible-funnel-failure-desc">A two-step conversion funnel with a large drop-off between Checkout started at 100 percent and Payment completed at 58 percent. A red dashed box shows 42 percent dropped with no failure event to explain the cause.</desc>

  <defs>
    <marker id="invisible-funnel-failure-arrow-danger" viewBox="0 0 10 10" refX="10" refY="5"
            markerWidth="8" markerHeight="8" orient="auto-start-reverse">
      <path d="M0,0 L10,5 L0,10 Z" fill="#f87171"/>
    </marker>
  </defs>

  <!-- Chart baseline -->
  <line x1="40" y1="260" x2="312" y2="260" stroke="#a8a8a8" stroke-width="1"/>

  <!-- Bar 1: Checkout started, 100% (height 180) -->
  <rect x="56" y="80" width="96" height="180" fill="#1e61f0"/>
  <text x="104" y="66" text-anchor="middle"
        font-family="Inter, system-ui, -apple-system, Segoe UI, Roboto, sans-serif"
        font-size="14" font-weight="600" fill="#f0f0f0">100%</text>
  <text x="104" y="282" text-anchor="middle"
        font-family="Inter, system-ui, -apple-system, Segoe UI, Roboto, sans-serif"
        font-size="13" font-weight="400" fill="#f0f0f0">Checkout started</text>

  <!-- Bar 2: Payment completed, 58% (height 104) -->
  <rect x="200" y="156" width="96" height="104" fill="#1e61f0"/>
  <text x="248" y="142" text-anchor="middle"
        font-family="Inter, system-ui, -apple-system, Segoe UI, Roboto, sans-serif"
        font-size="14" font-weight="600" fill="#f0f0f0">58%</text>
  <text x="248" y="282" text-anchor="middle"
        font-family="Inter, system-ui, -apple-system, Segoe UI, Roboto, sans-serif"
        font-size="13" font-weight="400" fill="#f0f0f0">Payment completed</text>

  <!-- Connector from the missing segment above bar 2 to the callout (dashed = danger cue) -->
  <line x1="304" y1="118" x2="376" y2="118"
        stroke="#f87171" stroke-width="1.5" stroke-dasharray="5 4"
        marker-end="url(#invisible-funnel-failure-arrow-danger)"/>

  <!-- Callout: the invisible drop -->
  <g>
    <rect x="384" y="74" width="200" height="88" rx="8" ry="8"
          fill="#2a2a2a" stroke="#f87171" stroke-width="1" stroke-dasharray="4 4"/>
    <text x="400" y="102"
          font-family="Inter, system-ui, -apple-system, Segoe UI, Roboto, sans-serif"
          font-size="14" font-weight="600" fill="#f87171">42% dropped here</text>
    <text x="400" y="124"
          font-family="Inter, system-ui, -apple-system, Segoe UI, Roboto, sans-serif"
          font-size="12" font-weight="400" fill="#f0f0f0">No failure event, so the</text>
    <text x="400" y="141"
          font-family="Inter, system-ui, -apple-system, Segoe UI, Roboto, sans-serif"
          font-size="12" font-weight="400" fill="#f0f0f0">cause is invisible</text>
  </g>

  <!-- Bottom note -->
  <text x="40" y="316"
        font-family="Inter, system-ui, -apple-system, Segoe UI, Roboto, sans-serif"
        font-size="11" font-weight="400" fill="#a8a8a8">Amplitude only counts events you send. A missing failure event leaves the drop unexplained.</text>
</svg>
