Skip to main content

Decision-first IRR analysis anchored at the Required Rate of Return.

Project description

Evbayiro-IRR

Evbayiro-IRR is an open-source Python library for decision-first capital budgeting analysis. It implements the Evbayiro RRR-First Method, an anchored IRR workflow that begins with the Required Rate of Return (RRR), evaluates NPV at that decision point, and then interprets IRR boundaries in context.

Unlike a bare irr() function, Evbayiro-IRR returns a structured analysis: the NPV decision at the RRR, the cash-flow pattern, the anchored trial path, any detected IRR boundaries, and warnings for non-conventional cash flows.

Quick Start

from evbayiro_irr import evbayiro_analysis

result = evbayiro_analysis(
    cashflows=[-350000, 125000, 150000, 170000],
    rrr=0.11,
)

print(result.decision)       # accept
print(result.anchor_npv)     # NPV at 11%
print(result.estimated_irr)  # Evbayiro interpolated IRR
print(result.trial_path)     # transparent 1% search path

The main result fields include:

  • decision: accept, reject, breakeven, or not evaluated.
  • anchor_npv: NPV at the supplied RRR or provisional anchor.
  • cashflow_type: conventional, non-conventional, or no-IRR pattern.
  • trial_path: the 1% anchored search path.
  • estimated_irr: interpolated Evbayiro estimate from the anchored bracket.
  • detected_irrs: detected IRR boundaries for non-conventional cash flows.
  • decision_relevant_irr: the IRR boundary relevant to the RRR region.

Command Line

After installation, run a conventional example:

evbayiro-irr --cashflows -350000 125000 150000 170000 --rrr 11%

Run a non-conventional cash-flow example:

evbayiro-irr --cashflows -1000000 800000 1000000 1350000 -2250000 --rrr 15%

Rates may be supplied as 0.15, 15%, or 15. Use --json for machine-readable output, --show-path to print every trial rate, and --version to print the installed package version.

Non-Conventional Cash Flows

The library detects non-conventional cash flows automatically by counting sign changes in the cash-flow sequence.

from evbayiro_irr import evbayiro_analysis

result = evbayiro_analysis(
    cashflows=[-1000000, 800000, 1000000, 1350000, -2250000],
    rrr=0.15,
)

print(result.cashflow_type)              # non_conventional
print(result.detected_irrs)              # all detected IRR boundaries
print(result.decision_relevant_irr)      # boundary around the RRR region
print(result.decision)                   # accept, based on NPV at RRR
print(result.warnings)

For non-conventional patterns, Evbayiro-IRR does not treat a single IRR as the final decision rule. It keeps NPV at the RRR as the controlling accept/reject test, reports detected IRR boundaries, and identifies the boundary relevant to the RRR region.

Design Goals

  • Anchor the first calculation at the RRR.
  • Use the Evbayiro Constant of 10% only when no RRR is supplied.
  • Preserve the NPV decision rule.
  • Use a deterministic 1% step protocol by default.
  • Detect conventional and non-conventional cash-flow patterns automatically.
  • Produce transparent trial paths for teaching, review, and professional interpretation.

Development

Run the tests with:

python -m unittest discover -s tests

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

evbayiro_irr-0.1.0.tar.gz (15.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

evbayiro_irr-0.1.0-py3-none-any.whl (16.0 kB view details)

Uploaded Python 3

File details

Details for the file evbayiro_irr-0.1.0.tar.gz.

File metadata

  • Download URL: evbayiro_irr-0.1.0.tar.gz
  • Upload date:
  • Size: 15.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for evbayiro_irr-0.1.0.tar.gz
Algorithm Hash digest
SHA256 8c69879c32e48defa55073ee986894d19b06c09eaa35f04d00ecd246382f8046
MD5 5ca1ebba1864a3cd7f0e6ffca1023c16
BLAKE2b-256 594d7efbe35e66dfaff8730cb2e4f33c9c76be7f88dbce41eed2c1702ea6902f

See more details on using hashes here.

Provenance

The following attestation bundles were made for evbayiro_irr-0.1.0.tar.gz:

Publisher: publish.yml on iammsenaga/evbayiro-irr

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file evbayiro_irr-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: evbayiro_irr-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 16.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for evbayiro_irr-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c843a5be378d223d0a22f3d89ab24d8164547e1896740e12229221785b8e24fb
MD5 9698952c87f83f033027cdd546b8c860
BLAKE2b-256 304b99ab4afcc48f5ff5a7e6f4d01f20ad06bb4bc359ad52bbc4cfd77a6a7055

See more details on using hashes here.

Provenance

The following attestation bundles were made for evbayiro_irr-0.1.0-py3-none-any.whl:

Publisher: publish.yml on iammsenaga/evbayiro-irr

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page