{
  "category": "Statistical functions",
  "display_name": "NEGBINOM.DIST",
  "entry_kind": "built_in_function",
  "eval_api": {
    "method": "POST",
    "url": "https://handbook.dnacalc.com/api/eval"
  },
  "function_id": "FUNC.NEGBINOM.DIST",
  "implementation_state": {
    "answer_bank": {
      "excel_builds": [
        "20430"
      ],
      "larger_numeric": 48,
      "last_bit": 104,
      "matched": 358,
      "other_mismatch": 0,
      "refused": 0,
      "rows": 510,
      "unread": 0,
      "worst_ulp": 4503599627370626
    },
    "detail": "Of 607 recorded answers (510 in the answer bank and 97 workbook cells), 169 do not match: 48 differ by more than 16 ULP, 121 differ by at most 16 ULP.",
    "dnacalc_commit": "9e1884369a678158dd82d3d74188daf986995e87",
    "in_catalogue": true,
    "state": "differs",
    "state_label": "Known larger differences",
    "summary": "Known larger differences on 169 of 607 recorded answers",
    "workbook_corpus": {
      "cells": 97,
      "last_bit": 17,
      "matched": 80,
      "worst_ulp": 10
    }
  },
  "implementations": [
    {
      "commit": "9e1884369a678158dd82d3d74188daf986995e87",
      "flavour": "excel-compatibility-candidate",
      "language": "Rust",
      "name": "CalcFunc",
      "own_code": [
        "https://github.com/DnaCalc/DnaCalc/blob/9e1884369a678158dd82d3d74188daf986995e87/crates/calc-func/src/catalogue/distributions.rs#L298-L301"
      ],
      "repository": "https://github.com/DnaCalc/DnaCalc",
      "shared_code": [
        "catalogue/distributions::nums",
        "ported/discrete_dist::stirling_error",
        "ported/discrete_dist::deviance",
        "ported/discrete_dist::binom_mass",
        "ported/discrete_dist::finite",
        "ported/discrete_dist::negbinom_mass",
        "ported/discrete_dist::negbinom_dist_kernel",
        "ported/excel_numeric::binary_with",
        "ported/excel_numeric::excel_x87_add",
        "ported/excel_numeric::excel_x87_sub",
        "ported/excel_numeric::excel_x87_mul",
        "ported/excel_numeric::excel_x87_div",
        "ported/excel_numeric/x87::mul",
        "ported/excel_numeric/x87::add",
        "ported/excel_numeric/x87::sub",
        "ported/excel_numeric/x87::div"
      ],
      "source": "https://github.com/DnaCalc/DnaCalc/blob/9e1884369a678158dd82d3d74188daf986995e87/crates/calc-func/src/catalogue/distributions.rs#L298-L301",
      "state": "differs",
      "suite": null,
      "summary": "Known larger differences on 169 of 607 recorded answers"
    }
  ],
  "json_url": "https://handbook.dnacalc.com/api/functions/FUNC.NEGBINOM.DIST.json",
  "name": "NEGBINOM.DIST",
  "notes": [],
  "schema": "efh.function-reference/v1",
  "section_order": [
    "what-it-does",
    "try-it",
    "quirks",
    "how-to-implement",
    "version-differences",
    "alternatives"
  ],
  "sections": {
    "alternatives": "\n### Relationships\n\n- **`NEGBINOMDIST`** is the legacy spelling with three arguments — see\n  [the rename that added an argument](#the-rename-that-added-an-argument) above. This is one of\n  the clearest cases in the statistical category that a dotted name is not always a rename.\n- **`BINOM.DIST`** is the conjugate question: the binomial fixes the number of *trials* and\n  counts successes; the negative binomial fixes the number of *successes* and counts failures.\n  The two CDFs are two faces of the same incomplete beta, which is why one might expect them to\n  share a route — and why the upstream finding that this surface **does not** inherit the\n  binomial's identified route is a genuine result rather than an absence of one.\n- **`GEOMETRIC`** does not exist in Excel as its own function; the geometric distribution is\n  `NEGBINOM.DIST(x, 1, p, cumulative)`.\n- **[POISSON.DIST](FUNC.POISSON.DIST.md)** is the limit at large `r`, and the negative binomial\n  is the Gamma–Poisson mixture that generalizes it to overdispersed counts.\n- **`BETA.DIST`** carries the same regularized incomplete beta from the continuous side:\n  `NEGBINOM.DIST(x, r, p, TRUE) = BETA.DIST(p, r, x+1, TRUE)`. Two Excel surfaces, one number —\n  a free consistency oracle, and the analogue of the Poisson/chi-square identity.\n- **Confused with**: the \"number of trials\" parameterization used by some textbooks and by\n  several other statistical packages, in which the variable counts *trials* rather than\n  *failures* and everything shifts by `r`. Excel counts failures. A formula ported from another\n  system without checking this is off by `r` and will still look plausible.\n\n\n",
    "how-to-implement": "\n### Numerical notes\n\n\n**1. The naive product is unevaluable over an ordinary band.** `C(x+r−1, x) · p^r · q^x` pairs\na combinatorial factor that overflows with probability factors that underflow. At `r = 10`,\n`p = 0.01`, `x = 2000` the coefficient is astronomically large and `p^r q^x` astronomically\nsmall, while the answer is an unremarkable small probability. This is the same structural\nhazard as the Poisson's, and it is why every serious discrete-distribution implementation works\nin log space or better.\n\n**2. Log space fixes the range and creates the cancellation.**\n\n    ln f = lnΓ(x+r) − lnΓ(r) − lnΓ(x+1) + r·ln p + x·ln q\n\nis representable everywhere, but for `x` near the mean the terms are individually large and\nnearly cancel. An absolute error `ε` in `ln f` is a relative error `ε` in `f`, so the accuracy\nis set by how well the log-gamma differences are computed, not by the exponential. This is the\n`lgamma` composition the upstream record refers to when it describes the negative binomial as\npresumably sharing the binomial's route family \"with different integer arguments\".\n\n**3. The saddle-point route is the modern standard — and it was ruled out here.** Loader's\nmethod (2000) writes the mass as an exponential of a Stirling correction and a\ncancellation-free deviance term, and it is what R's `dnbinom` uses. The evidence record attached\nto this page reports that **Loader's `dnbinom` was refuted** as a model of Excel's surface, and\nseparately that this surface **does not inherit** the identified binomial route. Both are\nrecorded upstream as candidate-model scores; the record's own reader warning states that neither\nfigure may be attributed to `NEGBINOM.DIST` specifically. What survives as a Handbook-safe\nstatement is qualitative and still useful: **two strong hypotheses about how Excel computes this\ndistribution have been eliminated, and no replacement has been identified.**\n\n**4. The CDF should be an incomplete beta, not a sum.** `F(x; r, p) = I_p(r, x+1)` costs\n`O(1)` through a continued fraction and accumulates one rounding rather than `x`. The standard\nimplementation is the Lentz-evaluated continued fraction with the `I_p(a,b) = 1 − I_q(b,a)`\nsymmetry used to keep the argument on the fast-converging side of `(a)/(a+b)` — the treatment in\n*Numerical Recipes* §6.4 and, at reference quality, DiDonato and Morris's TOMS algorithms.\nSumming the mass terms instead is both slower and less accurate, and it inherits every problem\nof section 1.\n\n**5. The recurrence.** `f(x) = f(x−1) · q · (x + r − 1)/x` is exact in structure and cheap, and\nrunning it upward from `f(0) = p^r` is stable while the terms increase. It is the natural way to\nproduce a whole table of masses, and it is a good cross-check on a saddle-point implementation —\nthough it cannot start where `p^r` underflows.\n\n**6. `p^r` deserves its own attention.** At `x = 0` the entire answer is `p^r` with integer `r`.\nWhether that is computed by `pow`, by repeated multiplication, or by `exp(r ln p)` is directly\nobservable at that one input, and the three disagree in the last bits. It is the same\none-cell-diagnoses-the-constant situation that `PHI(0)` provides for the normal density.\n\n**What a careful independent implementation does**: saddle-point mass with a tabulated Stirling\ncorrection; incomplete-beta CDF by continued fraction with the symmetry switch; explicit\nhandling of `x = 0`, `p = 1` and the `p = 0` degeneracy; and a stated bound. See\n[About implementation options](../model/07-implementation-options.md).\n\n\n",
    "quirks": "\n### The rename that added an argument\n\n    NEGBINOMDIST(x, r, p)   corresponds to   NEGBINOM.DIST(x, r, p, FALSE)\n\nand there is no legacy spelling of the cumulative branch at all. Two practical consequences:\n\n- A formula migrated by mechanically inserting dots produces a call with the wrong number of\n  arguments, which fails at entry rather than silently.\n- More insidiously, a reader who has internalized \"the dotted name is the same function\" will\n  read `NEGBINOM.DIST(x, r, p, TRUE)` as if a legacy equivalent existed and reason about\n  legacy behaviour that was never there.\n\nAnd for the branch that *does* correspond, correspondence is a statement about signatures and\nmathematics, not about bits. Excel dispatches compatibility functions as their own surfaces;\nproving that `NEGBINOMDIST(x, r, p)` and `NEGBINOM.DIST(x, r, p, FALSE)` publish identical\ndoubles requires evidence, and the evidence record attached to this page is explicit that the\nquestion of *which* negative binomial surface was even measured upstream is unresolved. See\nWhat has not been checked.\n\n\n\n### Result and edge cases\n\n\nReturns `Number`.\n\n- **`x = 0`** gives `p^r` in both branches — the probability that the first `r` trials are all\n  successes. Like the Poisson's `k = 0` window, this is a **route-blind** input: the\n  combinatorial factor is `1` and the `q^x` factor is `1`, so every staging reduces to a power.\n  It is the easiest input to get right and says the least about how the function is built.\n- **`p = 1`** collapses the distribution to a point mass at `x = 0`.\n- **`p = 0`** is admitted by the documented boundary and is mathematically degenerate; see\n  above.\n- **Truncation before validation.** `number_f` and `number_s` are truncated first, so\n  `NEGBINOM.DIST(0.9, 1.9, p, c)` is the `(0, 1)` case, and `number_s = 1.5` truncates to the\n  admissible `1` rather than being rejected as non-integer.\n- **Large `x` and `r`.** The binomial coefficient `C(x+r−1, x)` overflows binary64 long before\n  the probability underflows; the two factors move in opposite directions and the naive product\n  is unevaluable across a wide, ordinary band of inputs. See Numerical notes.\n- **CDF saturation.** For `x` well above the mean the CDF rounds to exactly `1` and the upper\n  tail is unrecoverable by subtraction. The incomplete-beta identity gives the complement\n  directly: `1 − F(x; r, p) = I_q(x+1, r)`.\n- **Arrays.** The recorded profile is `Custom`; elementwise lifting is not settled here.\n\nEmpty, missing and error arguments follow the shared call model; see\n[Coercion and lifting](../model/02-coercion-and-lifting.md).\n\n\n\n### Errors\n\n\nAs documented by Microsoft on the `NEGBINOM.DIST` page (retrieved for this page):\n\n| Error | Documented condition |\n|---|---|\n| `#VALUE!` | Any argument is nonnumeric |\n| `#NUM!` | `probability_s < 0` or `probability > 1` |\n| `#NUM!` | `number_f < 0` or `number_s < 1` |\n\nThree defects in that published text are worth recording rather than tidying away:\n\n1. **The probability row names an argument that does not exist.** It reads \"if\n   `probability_s < 0` or if **`probability` > 1**\". There is no `probability` argument; the\n   upper-bound condition is written against a name the syntax line never introduces. The\n   intended reading is obvious and the published text is wrong.\n2. **`p = 0` is admitted by the stated inequality** — the row says `< 0`, not `≤ 0` — even\n   though the distribution does not exist at `p = 0`. Either the boundary is deliberate and the\n   function returns something at `p = 0`, or the documentation is loose. Nobody has checked.\n3. **The `cumulative` argument is described as returning \"the probability density function\"**\n   when `FALSE`. The negative binomial is a *discrete* distribution; what that branch returns is\n   a probability **mass** function. This is the mirror image of a defect the Handbook records on\n   [NORM.S.DIST](FUNC.NORM.S.DIST.md), where a *continuous* density is called a mass function.\n   The two pages have the terminology exactly inverted, each in the wrong direction. The\n   computations are not in dispute; the published descriptions of them are.\n\nError values in any argument propagate under the ordinary coercion rules.\n\n\n",
    "sources": "- Microsoft, \"NEGBINOM.DIST function\" —\n  <https://support.microsoft.com/en-us/office/negbinom-dist-function-c8239f89-c2d0-45bd-b6af-172e570f8599>\n  (syntax; the four required arguments and their descriptions; \"Number_f and number_s are\n  truncated to integers\"; the `#VALUE!` condition; the `#NUM!` conditions on `probability_s`\n  and on `number_f`/`number_s`; and the `cumulative` description that calls the discrete mass a\n  \"probability density function\"). Retrieved for this page; the page's equation is an image and\n  was not read.\n- Handbook evidence record `EV-DIST-0029` — the open-discrepancy record: the non-inheritance of\n  the binomial route, the refutation of Loader's `dnbinom`, and the record's own statement that\n  neither figure names a surface and that its reader warning forbids attributing them here.\n- Abramowitz & Stegun, *Handbook of Mathematical Functions*, chapter 26 §26.5 — the incomplete\n  beta function and its relations to the binomial and negative binomial sums; chapter 6 §6.6.\n- C. Loader, \"Fast and Accurate Computation of Binomial Probabilities\" (2000) — the\n  saddle-point `dbinom`/`dnbinom`, named here as the model the upstream record reports refuted.\n- W. H. Press et al., *Numerical Recipes*, §6.4 — the incomplete beta by continued fraction with\n  the symmetry switch.\n- A. R. DiDonato and A. H. Morris, ACM TOMS algorithms for the incomplete beta and gamma ratios\n  — the reference-quality route.\n- B. D. McCullough and B. Wilson, *Computational Statistics & Data Analysis* (1999, 2002,\n  2005); L. Knüsel on Excel's distribution functions; M. Welinder's Gnumeric statistical work.\n  Named as literature; no figure restated.\n- Handbook, [Coercion and lifting](../model/02-coercion-and-lifting.md) and\n  [About implementation options](../model/07-implementation-options.md).\n\n\n",
    "version-differences": "The recorded environments below distinguish a reading from a same-input comparison. Counts describe captured inputs in each environment; overlapping captures and comparisons are not totals of unique worksheet calls.\n\n| Excel 16.0 build | Platform and CPU | Captured inputs |\n|---|---|---:|\n| 20430 | Windows, 64-bit, CPU not recorded | 510 |\n\nThe record contains no same-input comparison between these environments. Reading different inputs on different builds does not establish either a version change or cross-build agreement.\n\n[Recorded environments and comparison details](https://github.com/DnaCalc/ExcelFunctionsHandbook/blob/5dc75391aa5125ccc5abdb095da85950980d6fd8/content/evidence/environments/FUNC.NEGBINOM.DIST.json).",
    "what-it-does": "\n`NEGBINOM.DIST(number_f, number_s, probability_s, cumulative)` evaluates the negative binomial\ndistribution: the number of **failures** observed before a fixed number of **successes** is\nreached, in independent Bernoulli trials.\n\nWriting `x` for the truncated `number_f`, `r` for the truncated `number_s`, `p` for\n`probability_s` and `q = 1 − p`:\n\n**Probability mass function** (`cumulative = FALSE`) — the probability of exactly `x` failures\nbefore the `r`-th success:\n\n    f(x; r, p) = C(x + r − 1, x) · p^r · q^x\n               = Γ(x + r) / ( Γ(r) · x! ) · p^r · q^x,      x = 0, 1, 2, …\n\nThe combinatorial factor counts the arrangements of `x` failures among the first `x + r − 1`\ntrials; the final trial is by construction the `r`-th success, which is why the binomial\ncoefficient uses `x + r − 1` and not `x + r`. Getting that off by one wrong is the classic\nerror in implementing this distribution.\n\n**Cumulative distribution function** (`cumulative = TRUE`) — the probability of at most `x`\nfailures:\n\n    F(x; r, p) = Σ_{j=0}^{x} f(j; r, p)  =  I_p(r, x + 1)\n\nwhere `I_p(a, b)` is the **regularized incomplete beta function**. That closed form (A&S\n26.5.24 and the neighbouring relations) is what makes the CDF computable in constant time\nrather than as a sum, and it is the same machinery the binomial and `F` distributions bottom out\nin.\n\n**Domain and range.** The documented domain is `x ≥ 0` and `r ≥ 1`, both after truncation to\nintegers, with `0 ≤ p ≤ 1`. The mass is in `[0, 1]` and sums to `1` over `x` whenever `p > 0`.\n\n**Moments and limits.**\n\n    mean     = r·q/p\n    variance = r·q/p²  =  mean / p          always ≥ mean: the distribution is overdispersed\n    f(0; r, p) = p^r\n    r = 1                    gives the geometric distribution on {0, 1, 2, …}\n    r → ∞, p → 1 with r·q/p → λ fixed   gives Poisson(λ)\n\nThe overdispersion is why the negative binomial is used at all: it is the count distribution\nfor data whose variance exceeds its mean, where Poisson fails. It is also the Gamma–Poisson\nmixture — a Poisson whose rate is itself Gamma-distributed — which is the identity that gives\nit a continuous `r` in most statistical software.\n\n**The `r` question.** Mathematically the density is written with `Γ(r)` and is perfectly\nwell defined for any real `r > 0`; that generalization is what makes the Gamma–Poisson mixture\nwork and is what R's `dnbinom` supports. Excel does not: `number_s` is documented as truncated\nto an integer and required to be at least `1`. So Excel's `NEGBINOM.DIST` is the strictly\ninteger-`r` special case, and a user fitting an overdispersed count model with a fractional\ndispersion parameter cannot express it here.\n\n**Degenerate corners.** At `p = 1` every trial succeeds, so `f(0; r, 1) = 1` and `f(x; r, 1) = 0`\nfor `x > 0`. At `p = 0` no success ever occurs and the distribution does not exist — the mass\nis zero for every finite `x` and the total is zero, not one. Microsoft's documented boundary is\n`probability_s < 0`, which admits `p = 0`; what the function returns there is a real question\nand is on the probe list.\n\n\n\n### Arguments\n\n\nMicrosoft's page gives four required arguments:\n\n| Argument | Meaning | Required |\n|---|---|---|\n| `number_f` | \"The number of failures\" | yes |\n| `number_s` | \"The threshold number of successes\" | yes |\n| `probability_s` | \"The probability of a success\" | yes |\n| `cumulative` | A logical: `TRUE` gives the cumulative distribution function, `FALSE` the mass | yes |\n\n**`number_f` and `number_s` are truncated to integers**, per Microsoft's remark.\n`probability_s` is not truncated. `cumulative` has no default.\n\nThe pinned catalogue supplies `NEGBINOM.DIST(number_f, number_s, probability_s, cumulative)` with four required arguments.\n\n\n"
  },
  "signature": {
    "display": "NEGBINOM.DIST(number_f, number_s, probability_s, cumulative)",
    "parameters": [
      {
        "description": null,
        "name": "number_f",
        "optional": false,
        "repeats": false
      },
      {
        "description": null,
        "name": "number_s",
        "optional": false,
        "repeats": false
      },
      {
        "description": null,
        "name": "probability_s",
        "optional": false,
        "repeats": false
      },
      {
        "description": null,
        "name": "cumulative",
        "optional": false,
        "repeats": false
      }
    ],
    "trailing_repeats": false
  },
  "sources": {
    "metadata": {
      "admission": {
        "label": "implemented",
        "reason": null
      },
      "arity": {
        "max": 4,
        "min": 4
      },
      "category": "Statistical functions",
      "classification": {
        "arg_preparation_profile": "ValuesOnlyPreAdapter",
        "coercion_lift_profile": "Custom",
        "determinism_class": "Deterministic",
        "error_collapse_profile": "None",
        "fec_dependency_profile": "None",
        "host_interaction_class": "None",
        "kernel_signature_class": "Custom",
        "rich_value_usage": "RichBlind",
        "surface_fec_dependency_profile": "RefOnly",
        "thread_safety_class": "SafePure",
        "volatility_class": "NonVolatile"
      },
      "descriptions": {
        "long": null,
        "short": "Negative binomial distribution: the chance of f failures before the s-th success",
        "short_source": "dna-calc-own"
      },
      "docs": {
        "english_description": "Returns the negative binomial distribution",
        "microsoft_url": "https://support.microsoft.com/en-us/office/negbinom-dist-function-c8239f89-c2d0-45bd-b6af-172e570f8599"
      },
      "entry_kind": "built_in_function",
      "localized_family_names": null,
      "localized_names": [
        {
          "locale": "ar-SA",
          "name": "NEGBINOM.DIST"
        },
        {
          "locale": "bg-BG",
          "name": "NEGBINOM.DIST"
        },
        {
          "locale": "cs-CZ",
          "name": "NEGBINOM.DIST"
        },
        {
          "locale": "da-DK",
          "name": "NEGBINOM.FORDELING"
        },
        {
          "locale": "de-DE",
          "name": "NEGBINOM.DIST"
        },
        {
          "locale": "el-GR",
          "name": "NEGBINOM.DIST"
        },
        {
          "locale": "en-AU",
          "name": "NEGBINOM.DIST"
        },
        {
          "locale": "en-GB",
          "name": "NEGBINOM.DIST"
        },
        {
          "locale": "en-US",
          "name": "NEGBINOM.DIST"
        },
        {
          "locale": "es-ES",
          "name": "NEGBINOM.DIST"
        },
        {
          "locale": "et-EE",
          "name": "NEGBINOM.DIST"
        },
        {
          "locale": "fi-FI",
          "name": "BINOMI.JAKAUMA.NEG"
        },
        {
          "locale": "fr-FR",
          "name": "LOI.BINOMIALE.NEG.N*"
        },
        {
          "locale": "he-IL",
          "name": "NEGBINOM.DIST"
        },
        {
          "locale": "hr-HR",
          "name": "NEGBINOM.DIST"
        },
        {
          "locale": "hu-HU",
          "name": "NEGBINOM.ELOSZLÁS"
        },
        {
          "locale": "id-ID",
          "name": "NEGBINOM.DIST"
        },
        {
          "locale": "it-IT",
          "name": "NEGBINOM.DIST"
        },
        {
          "locale": "ja-JP",
          "name": "NEGBINOM.DIST"
        },
        {
          "locale": "ko-KR",
          "name": "NEGBINOM.DIST"
        },
        {
          "locale": "lt-LT",
          "name": "NEGBINOM.DIST"
        },
        {
          "locale": "lv-LV",
          "name": "NEGBINOM.DIST"
        },
        {
          "locale": "nb-NO",
          "name": "NEGBINOM.DIST"
        },
        {
          "locale": "nl-NL",
          "name": "NEGBINOM.VERD"
        },
        {
          "locale": "pl-PL",
          "name": "ROZKŁ.DWUM.PRZEC"
        },
        {
          "locale": "pt-BR",
          "name": "NEGBINOM.DIST"
        },
        {
          "locale": "pt-PT",
          "name": "DIST.BINOM.NEG"
        },
        {
          "locale": "ro-RO",
          "name": "NEGBINOM.DIST"
        },
        {
          "locale": "ru-RU",
          "name": "ОТРБИНОМ.РАСП"
        },
        {
          "locale": "sk-SK",
          "name": "NEGBINOM.DIST"
        },
        {
          "locale": "sl-SI",
          "name": "NEGBINOM.DIST"
        },
        {
          "locale": "sr-Latn-RS",
          "name": "NEGBINOM.DIST"
        },
        {
          "locale": "sv-SE",
          "name": "NEGBINOM.FÖRD"
        },
        {
          "locale": "th-TH",
          "name": "NEGBINOM.DIST"
        },
        {
          "locale": "tr-TR",
          "name": "NEGBİNOM.DAĞ"
        },
        {
          "locale": "uk-UA",
          "name": "NEGBINOM.DIST"
        },
        {
          "locale": "vi-VN",
          "name": "NEGBINOM.DIST"
        },
        {
          "locale": "zh-CN",
          "name": "NEGBINOM.DIST"
        },
        {
          "locale": "zh-HK",
          "name": "NEGBINOM.DIST"
        },
        {
          "locale": "zh-TW",
          "name": "NEGBINOM.DIST"
        }
      ],
      "signature": {
        "display": "NEGBINOM.DIST(number_f, number_s, probability_s, cumulative)",
        "parameters": [
          {
            "description": null,
            "name": "number_f",
            "optional": false,
            "repeats": false
          },
          {
            "description": null,
            "name": "number_s",
            "optional": false,
            "repeats": false
          },
          {
            "description": null,
            "name": "probability_s",
            "optional": false,
            "repeats": false
          },
          {
            "description": null,
            "name": "cumulative",
            "optional": false,
            "repeats": false
          }
        ],
        "trailing_repeats": false
      },
      "surface_name": "NEGBINOM.DIST",
      "version_marker": null,
      "xlcall": {
        "code": "538",
        "symbol": "xlfNegbinom_dist"
      }
    },
    "microsoft": "https://support.microsoft.com/en-us/office/negbinom-dist-function-c8239f89-c2d0-45bd-b6af-172e570f8599"
  },
  "try_it": {
    "formula": "=NEGBINOM.DIST(3,5,0.5,FALSE)"
  },
  "url": "https://handbook.dnacalc.com/functions/NEGBINOM.DIST.html",
  "variants": [],
  "versions": [
    {
      "behaviour": "510 captured inputs are indexed for this environment. Capture dates: 2026-09-29 to 2026-09-29. This is a reading count, not a comparison with another build.",
      "excel_build": "16.0 build 20430",
      "platform": "Windows, 64-bit, CPU not recorded",
      "sources": [
        "https://github.com/DnaCalc/ExcelFunctionsHandbook/blob/5dc75391aa5125ccc5abdb095da85950980d6fd8/content/evidence/environments/FUNC.NEGBINOM.DIST.json"
      ]
    }
  ]
}