Reliability Data Screening
Use this skill for public, educational reliability screening. From an ISO 14224 / OREDA style failure rate and a mean time to repair, it estimates mean time between failures (MTBF), steady-state availability with simple parallel redundancy, mission reliability, and expected failures, so an agent can scope a reliability/availability/maintainability (RAM) study before detailed analysis.
When to Use
- When a user asks for an MTBF, availability, or reliability figure from a failure rate and repair time.
- When an agent needs a quick parallel-redundancy availability estimate.
- When planned downtime must be folded into a screening availability number.
- When examples must run without proprietary OREDA datasets or vendor reliability data.
Inputs
failure_rate_per_year: failure rate (lambda) in failures per year.
mean_time_to_repair_h: mean time to repair in hours, default 24.
redundancy: number of parallel units (k = 1 of n), integer, default 1.
mission_time_years: mission duration in years for reliability, default 1.
planned_downtime_h_per_year: planned downtime in hours per year, default 0.
Outputs
mtbf_years: mean time between failures in years.
mtbf_h: mean time between failures in hours.
unit_availability: steady-state availability of a single unit.
system_availability: availability of the redundant system including planned downtime.
system_unavailability: one minus the system availability.
reliability_over_mission: probability of no system failure over the mission time.
expected_failures: expected single-unit failures over the mission time.
availability_warning: ok, watch, or low-availability.
assumptions: public assumptions used by the placeholder model.
Engineering Method
The Python class ReliabilityDataModel uses open reliability relations only:
- MTBF uses
MTBF = 1 / lambda (years) and MTBF_h = 8760 / lambda (hours).
- single-unit availability uses
A = MTBF_h / (MTBF_h + MTTR).
- redundant unavailability from failures uses
(1 - A) ** n for n parallel units.
- planned downtime adds
planned_downtime / 8760 to the unavailability, capped at 1.
- mission reliability uses
R = exp(-lambda * t) for a unit and 1 - (1 - R) ** n for the parallel system.
- expected failures use
lambda * mission_time for a single unit.
This is educational and screening-only logic. It assumes a constant failure rate (exponential lifetime), independent identical parallel units, and additive planned downtime. It is not a replacement for validated RAM analysis or a qualified reliability dataset.
Python Usage Pattern
from reliability_data_screening import ReliabilityDataModel
model = ReliabilityDataModel()
result = model.evaluate(
failure_rate_per_year=0.5,
mean_time_to_repair_h=48.0,
redundancy=2,
mission_time_years=1.0,
planned_downtime_h_per_year=24.0,
)
print(result.mtbf_years)
print(result.system_availability)
print(result.availability_warning)
Related NeqSim Functionality
For validated reliability and risk modelling, redirect to NeqSim resources:
- proposed
neqsim.process.reliability.ReliabilityDataset — ISO 14224 / OREDA dataset ingestion and availability roll-up; candidate NeqSim gap.
neqsim.process.diagnostics — multi-source reliability priors for root cause analysis.
- the
neqsim-process-safety skill — SIL and risk-matrix methods that consume availability figures.
This skill is a public triage layer that decides when to invoke a validated RAM analysis.
Validation Checklist
Common Mistakes
| Symptom |
Cause |
Fix |
| Availability unchanged by redundancy |
redundancy left at 1 |
Provide the number of parallel units |
| Availability above 1 |
Planned downtime not capped |
Model caps unavailability at 1 automatically |
low-availability always shown |
Very high failure rate or repair time |
Check the OREDA basis for the inputs |
Limitations
- No proprietary OREDA datasets or vendor reliability data are included.
- A constant failure rate (exponential model) is assumed; no wear-out is modelled.
- Parallel units are assumed identical and independent (no common-cause factor).
References
- ISO 14224, Petroleum, petrochemical and natural gas industries — Collection and exchange of reliability and maintenance data for equipment.
- OREDA, Offshore and Onshore Reliability Data Handbook.
- IEC 61508, Functional safety of electrical/electronic/programmable electronic safety-related systems.
- NeqSim repository: https://github.com/equinor/neqsim
1---2name: neqsim-reliability-data-screening3description: Educational reliability and availability screening from an ISO 14224 / OREDA style failure rate and repair time, with simple parallel-redundancy and planned-downtime handling. USE WHEN: a task needs a public, screening-level estimate of MTBF, steady-state availability, mission reliability, and expected failures for an equipment item or a simple redundant system before detailed RAM analysis.4---56# Reliability Data Screening78Use this skill for public, educational reliability screening. From an ISO 14224 / OREDA style failure rate and a mean time to repair, it estimates mean time between failures (MTBF), steady-state availability with simple parallel redundancy, mission reliability, and expected failures, so an agent can scope a reliability/availability/maintainability (RAM) study before detailed analysis.910## When to Use1112- When a user asks for an MTBF, availability, or reliability figure from a failure rate and repair time.13- When an agent needs a quick parallel-redundancy availability estimate.14- When planned downtime must be folded into a screening availability number.15- When examples must run without proprietary OREDA datasets or vendor reliability data.1617## Inputs1819- `failure_rate_per_year`: failure rate (lambda) in failures per year.20- `mean_time_to_repair_h`: mean time to repair in hours, default 24.21- `redundancy`: number of parallel units (k = 1 of n), integer, default 1.22- `mission_time_years`: mission duration in years for reliability, default 1.23- `planned_downtime_h_per_year`: planned downtime in hours per year, default 0.2425## Outputs2627- `mtbf_years`: mean time between failures in years.28- `mtbf_h`: mean time between failures in hours.29- `unit_availability`: steady-state availability of a single unit.30- `system_availability`: availability of the redundant system including planned downtime.31- `system_unavailability`: one minus the system availability.32- `reliability_over_mission`: probability of no system failure over the mission time.33- `expected_failures`: expected single-unit failures over the mission time.34- `availability_warning`: `ok`, `watch`, or `low-availability`.35- `assumptions`: public assumptions used by the placeholder model.3637## Engineering Method3839The Python class `ReliabilityDataModel` uses open reliability relations only:4041- MTBF uses `MTBF = 1 / lambda` (years) and `MTBF_h = 8760 / lambda` (hours).42- single-unit availability uses `A = MTBF_h / (MTBF_h + MTTR)`.43- redundant unavailability from failures uses `(1 - A) ** n` for `n` parallel units.44- planned downtime adds `planned_downtime / 8760` to the unavailability, capped at 1.45- mission reliability uses `R = exp(-lambda * t)` for a unit and `1 - (1 - R) ** n` for the parallel system.46- expected failures use `lambda * mission_time` for a single unit.4748This is educational and screening-only logic. It assumes a constant failure rate (exponential lifetime), independent identical parallel units, and additive planned downtime. It is not a replacement for validated RAM analysis or a qualified reliability dataset.4950## Python Usage Pattern5152```python53from reliability_data_screening import ReliabilityDataModel5455model = ReliabilityDataModel()56result = model.evaluate(57 failure_rate_per_year=0.5,58 mean_time_to_repair_h=48.0,59 redundancy=2,60 mission_time_years=1.0,61 planned_downtime_h_per_year=24.0,62)6364print(result.mtbf_years)65print(result.system_availability)66print(result.availability_warning)67```6869## Related NeqSim Functionality7071For validated reliability and risk modelling, redirect to NeqSim resources:7273- proposed `neqsim.process.reliability.ReliabilityDataset` — ISO 14224 / OREDA dataset ingestion and availability roll-up; candidate NeqSim gap.74- `neqsim.process.diagnostics` — multi-source reliability priors for root cause analysis.75- the `neqsim-process-safety` skill — SIL and risk-matrix methods that consume availability figures.7677This skill is a public triage layer that decides when to invoke a validated RAM analysis.7879## Validation Checklist8081- [ ] Failure rate and mean time to repair are positive.82- [ ] Redundancy is an integer of at least 1.83- [ ] Planned downtime is in [0, 8760) hours per year.84- [ ] Tests cover MTBF, single-unit availability, redundancy improvement, planned downtime, and invalid input.85- [ ] Real RAM work is redirected to validated NeqSim resources and qualified datasets.8687## Common Mistakes8889| Symptom | Cause | Fix |90| --- | --- | --- |91| Availability unchanged by redundancy | `redundancy` left at 1 | Provide the number of parallel units |92| Availability above 1 | Planned downtime not capped | Model caps unavailability at 1 automatically |93| `low-availability` always shown | Very high failure rate or repair time | Check the OREDA basis for the inputs |9495## Limitations9697- No proprietary OREDA datasets or vendor reliability data are included.98- A constant failure rate (exponential model) is assumed; no wear-out is modelled.99- Parallel units are assumed identical and independent (no common-cause factor).100101## References102103- ISO 14224, Petroleum, petrochemical and natural gas industries — Collection and exchange of reliability and maintenance data for equipment.104- OREDA, Offshore and Onshore Reliability Data Handbook.105- IEC 61508, Functional safety of electrical/electronic/programmable electronic safety-related systems.106- NeqSim repository: https://github.com/equinor/neqsim