Skip to main content

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

Project description

Evbayiro-IRR

PyPI version CI License: MIT

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.1.tar.gz (16.0 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.1-py3-none-any.whl (16.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: evbayiro_irr-0.1.1.tar.gz
  • Upload date:
  • Size: 16.0 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.1.tar.gz
Algorithm Hash digest
SHA256 244b6983178d62816c66ce48a4d304bc79821b45e72e8fc80aa35f8bb60b6cc3
MD5 8f5b6e9b6f0bf5e0e12c5a27bd3fb198
BLAKE2b-256 4b2a0d3dbfeae292e974cda94d1042248b5058a0059f55aa447a7172e2b00340

See more details on using hashes here.

Provenance

The following attestation bundles were made for evbayiro_irr-0.1.1.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.1-py3-none-any.whl.

File metadata

  • Download URL: evbayiro_irr-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 16.1 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 85781119246e5e65f0b047a19434066b90d95389039642e9af0b6c4f5cd6aa64
MD5 76a29572aef92f7506f8d351e3205b97
BLAKE2b-256 4c944fe2234974cee33f9494ec09e8d55c0516911196e8239ff52bf17c481890

See more details on using hashes here.

Provenance

The following attestation bundles were made for evbayiro_irr-0.1.1-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