Home/Tools/@tpmjs/tools-beta-binomial-update

betaBinomialUpdateTool

@tpmjs/tools-beta-binomial-update

Perform Bayesian update of a Beta prior distribution given binomial data (successes out of trials). Returns the posterior Beta distribution with mean, mode, variance, and credible interval. Useful for estimating probabilities with prior beliefs.

Official
statistics
v0.2.0
MIT

Interactive Playground

Test @tpmjs/tools-beta-binomial-update (betaBinomialUpdateTool) with AI-powered execution

0/2000 characters

Installation & Usage

Install this tool and use it with the AI SDK

1. Install the package

npm install @tpmjs/tools-beta-binomial-update
pnpm add @tpmjs/tools-beta-binomial-update
yarn add @tpmjs/tools-beta-binomial-update
bun add @tpmjs/tools-beta-binomial-update
deno add npm:@tpmjs/tools-beta-binomial-update

2. Import the tool

import { betaBinomialUpdateTool } from '@tpmjs/tools-beta-binomial-update';

3. Use with AI SDK

import { generateText } from 'ai';
import { openai } from '@ai-sdk/openai';
import { betaBinomialUpdateTool } from '@tpmjs/tools-beta-binomial-update';

const result = await generateText({
  model: openai('gpt-4o'),
  tools: { betaBinomialUpdateTool },
  prompt: 'Your prompt here...',
});

console.log(result.text);

Parameters

Available configuration options

Auto-extracted
priorAlpha
Required
Type: number

Prior alpha parameter (represents prior successes + 1)

priorBeta
Required
Type: number

Prior beta parameter (represents prior failures + 1)

successes
Required
Type: number

Number of successes observed in the data

trials
Required
Type: number

Total number of trials conducted

credibleLevel
Optional
Type: number

Credible interval level (default: 0.95 for 95% interval)

Schema extracted: 1/1/2026, 8:18:34 AM

README

Beta-Binomial Update

Bayesian beta-binomial conjugate posterior update for estimating probabilities from data with prior beliefs.

Installation

npm install @tpmjs/tools-beta-binomial-update

Usage

import { betaBinomialUpdateTool } from '@tpmjs/tools-beta-binomial-update';

// Example: Estimate conversion rate with prior belief
// Prior: Beta(2, 2) = uniform-ish prior slightly favoring 0.5
// Data: 15 conversions out of 100 trials
const result = await betaBinomialUpdateTool.execute({
  priorAlpha: 2,
  priorBeta: 2,
  successes: 15,
  trials: 100,
  credibleLevel: 0.95, // 95% credible interval
});

console.log(result);
// {
//   posteriorAlpha: 17,      // 2 + 15
//   posteriorBeta: 87,       // 2 + (100 - 15)
//   posteriorMean: 0.163,    // Best estimate
//   posteriorMode: 0.157,    // Most likely value
//   posteriorVariance: 0.001,
//   credibleInterval: {
//     lower: 0.098,
//     upper: 0.239,
//     level: 0.95
//   },
//   statistics: {
//     effectiveSampleSize: 4,
//     priorMean: 0.5,
//     dataLikelihood: 0.15
//   }
// }

API

Input

  • priorAlpha (required): Prior successes + 1 (e.g., 1 for uninformative, 2 for weak prior)
  • priorBeta (required): Prior failures + 1
  • successes (required): Number of successes observed
  • trials (required): Total number of trials
  • credibleLevel (optional): Credible interval level (default: 0.95)

Output

  • posteriorAlpha: Updated alpha parameter
  • posteriorBeta: Updated beta parameter
  • posteriorMean: Expected value of probability
  • posteriorMode: Most likely probability value
  • posteriorVariance: Uncertainty in estimate
  • credibleInterval: Bayesian confidence interval
  • statistics: Prior mean, likelihood, effective sample size

Algorithm

Uses conjugate Beta-Binomial model:

Prior: θ ~ Beta(α, β) Likelihood: X ~ Binomial(n, θ) Posterior: θ|X ~ Beta(α + k, β + (n - k))

Where:

  • k = successes
  • n = trials
  • θ = unknown probability

The Beta distribution is conjugate to the Binomial, making the update simple and exact.

Common Priors

  • Uninformative: Beta(1, 1) = Uniform[0, 1]
  • Jeffreys: Beta(0.5, 0.5) = Uninformative invariant prior
  • Weak: Beta(2, 2) = Slight preference for θ = 0.5
  • Strong: Beta(20, 20) = Strong belief in θ = 0.5

Use Cases

  • A/B test analysis (conversion rates)
  • Click-through rate estimation
  • Medical test sensitivity/specificity
  • Quality control (defect rates)
  • Sports analytics (win probabilities)

Credible Interval

The credible interval is the Bayesian analog of a confidence interval. A 95% credible interval means "there is a 95% probability that θ lies in this interval given the data."

License

MIT

Statistics

Downloads/month

0

Quality Score

0%

Bundle Size

NPM Keywords

tpmjs
statistics
bayesian
beta-distribution
inference

Maintainers

thomasdavis(thomasalwyndavis@gmail.com)

Frameworks

vercel-ai