Skip to content
FlowScript templates

Reliability — growth model (Crow-AMSAA)

Reliability growth on a fielded fleet, fitted as a non-homogeneous Poisson process with a power-law intensity — Crow-AMSAA, IEC 61710. Typed FlowScript for reliability engineering. Keywords: FMEA, failure mode, RPN, reliability.

Template previewFlowScript
Pitch-system test-analyse-and-fix programme2025-04-01 → 2026-12-31 · 640 days · 7 tasks · 4 milestonesMay 25Jul 25Sep 25Nov 25Jan 26Mar 26May 26Jul 26Sep 26Nov 26TODAYAccumulator seal extrusion — root cause and seal redesignHydraulics80dSeal retrofit across the fleet, two turbines per weather windowOffshore techniciansEncoder signal loss — humidity ingress investigationControls67dShielded harness and drain modificationOffshore techniciansPitch-bearing grease interval trial on six turbinesMechanical211dGrease regime rollout, subject to the trial resultOffshore technicians90dReliability growth re-fit and warranty submissionReliability engineering91dMilestonesFleet at first po…Accumulator seal …Encoder shielding…Warranty reliabil…

Make it your own.

// Reliability growth on a fielded fleet, fitted as a non-homogeneous
// Poisson process with a power-law intensity — Crow-AMSAA, IEC 61710.
//
// Cumulative failures against cumulative operating hours for the pitch
// system across eighteen offshore turbines. The slope beta is the whole
// argument: below 1 the failure intensity is falling and the retrofit
// programme is working; at 1 nothing has changed; above 1 the fleet is
// getting worse. Here beta comes out near 0.50, which is strong growth.
//
// The fit below is the two-point graphical (Duane) estimate through the
// first and last observations, so it is visibly a derivation of the data
// rather than an output nobody can reproduce. The maximum-likelihood
// estimate over all 45 failure times is 0.51, which agrees to two places.

growth_model pitch_growth {
  title: "Pitch-system reliability growth — Dogger Bank B"
  fleet: "18 x 8.4 MW turbines, blade pitch drives, hydraulic accumulators and pitch bearings"
  model: "Crow-AMSAA power law, N(T) = lambda x T^beta"
  period: "2025-04 to 2026-02"
  programme: "Test-analyse-and-fix: accumulator seal retrofit, pitch-bearing grease change, encoder shielding"
  data_source: "SCADA operating hours reconciled against the CMMS work-order history"
  target_mtbf: 2000 h

  // Fitted from the first and last cumulative points.
  beta: = ln(point_6.cumulative_failures / point_1.cumulative_failures) / ln(point_6.cumulative_hours / point_1.cumulative_hours)
  beta_mle: 0.51 source "MLE over 45 failure times, time-terminated"
  growth_rate: = 1 - beta

  mtbf_cumulative: = point_6.cumulative_hours / point_6.cumulative_failures
  // The instantaneous MTBF is what the fleet is achieving NOW, and it is
  // the cumulative MTBF divided by beta. Quoting the cumulative figure to
  // a customer understates a growing system by a factor of two here.
  mtbf_instantaneous: = mtbf_cumulative / beta
  // Divided by the hours AS A NUMBER (the "/ 1[h]" idiom) rather than by
  // the hours themselves. Both give the same figure — failures per
  // operating hour — but the second carries a reciprocal-hour unit into
  // everything downstream, and anything that multiplies it back up by a
  // duration then has to be written to cancel it.
  failure_intensity: = beta * point_6.cumulative_failures / (point_6.cumulative_hours / 1[h])
  failures_per_1000_hours: = 1000 * failure_intensity
  // One turbine runs about 4500 hours a year, so at the current intensity
  // it will see this many pitch failures. It is the figure the operations
  // manager asks for and the only one on this block with no h in it.
  failures_per_turbine_year: = 4500 * failure_intensity

  // Projection: instantaneous MTBF grows as T^(1-beta), so reaching the
  // target needs the operating hours below.
  hours_to_target: = point_6.cumulative_hours * (target_mtbf / mtbf_instantaneous) ^ (1 / (1 - beta))
  additional_hours: = hours_to_target - point_6.cumulative_hours
  fleet_hours_per_month: 12000 h
  months_to_target: = additional_hours / fleet_hours_per_month
}

growth_point point_1 {
  of: pitch_growth
  cumulative_hours: 1000 h
  cumulative_failures: 8
  note: "First month of commercial operation; four accumulator seal failures"
}

growth_point point_2 {
  of: pitch_growth
  cumulative_hours: 2000 h
  cumulative_failures: 11
}

growth_point point_3 {
  of: pitch_growth
  cumulative_hours: 4000 h
  cumulative_failures: 16
  note: "Accumulator seal retrofit begins across the fleet"
}

growth_point point_4 {
  of: pitch_growth
  cumulative_hours: 8000 h
  cumulative_failures: 23
}

growth_point point_5 {
  of: pitch_growth
  cumulative_hours: 16000 h
  cumulative_failures: 32
  note: "Encoder shielding modification embodied on all 18 turbines"
}

growth_point point_6 {
  of: pitch_growth
  cumulative_hours: 32000 h
  cumulative_failures: 45
}

// What the failures were, so the growth claim can be checked against a
// physical change rather than against a curve fit.
failure_class accumulator_seals {
  of: pitch_growth
  description: "Nitrogen accumulator seal extrusion"
  failures_before_fix: 14
  failures_after_fix: 2
  fix: "Replaced with PTFE-backed seals, 2025-08"
}

failure_class encoder_faults {
  of: pitch_growth
  description: "Pitch encoder signal loss in humid conditions"
  failures_before_fix: 11
  failures_after_fix: 3
  fix: "Shielded harness and drain modification, 2025-11"
}

failure_class bearing_grease {
  of: pitch_growth
  description: "Pitch bearing grease starvation at low duty"
  failures_before_fix: 9
  failures_after_fix: 6
  fix: "Grease interval halved, 2025-09; further work open"
}

// The growth curve is a consequence of a programme of fixes, and a
// reliability growth report that shows only the curve invites the reader
// to believe the fleet improved on its own. The dates below are the ones
// the curve bends at.
project taaf_programme {
  title: "Pitch-system test-analyse-and-fix programme"
  start: "2025-04-01"
  end: "2026-12-31"
  owner: "Reliability engineering, offshore O&M"
}

milestone first_power {
  date: "2025-04-01"
  title: "Fleet at first power — growth tracking starts"
  status: "done"
}

milestone seal_embodiment {
  date: "2025-08-29"
  title: "Accumulator seal retrofit embodied on all 18 turbines"
  status: "done"
}

milestone encoder_embodiment {
  date: "2025-11-14"
  title: "Encoder shielding modification embodied on all 18 turbines"
  status: "done"
}

milestone warranty_review {
  date: "2026-09-30"
  title: "Warranty reliability review — 2000 h instantaneous MTBF required"
  status: "planned"
}

task seal_root_cause {
  title: "Accumulator seal extrusion — root cause and seal redesign"
  start: "2025-05-06"
  end: "2025-07-25"
  assignee: "Hydraulics"
  status: "done"
}

task seal_retrofit {
  title: "Seal retrofit across the fleet, two turbines per weather window"
  start: "2025-07-28"
  end: "2025-08-29"
  depends: [seal_root_cause]
  assignee: "Offshore technicians"
  status: "done"
}

task encoder_investigation {
  title: "Encoder signal loss — humidity ingress investigation"
  start: "2025-08-04"
  end: "2025-10-10"
  assignee: "Controls"
  status: "done"
}

task encoder_retrofit {
  title: "Shielded harness and drain modification"
  start: "2025-10-13"
  end: "2025-11-14"
  depends: [encoder_investigation]
  assignee: "Offshore technicians"
  status: "done"
}

task grease_trial {
  title: "Pitch-bearing grease interval trial on six turbines"
  start: "2025-09-01"
  end: "2026-03-31"
  assignee: "Mechanical"
  status: "in-progress"
}

task grease_rollout {
  title: "Grease regime rollout, subject to the trial result"
  start: "2026-04-01"
  end: "2026-06-30"
  depends: [grease_trial]
  assignee: "Offshore technicians"
  status: "planned"
}

task growth_review {
  title: "Reliability growth re-fit and warranty submission"
  start: "2026-07-01"
  end: "2026-09-30"
  depends: [grease_rollout]
  assignee: "Reliability engineering"
  status: "planned"
}

cite iec61710 {
  key: "iec61710"
  title: "IEC 61710:2013 — Power law model. Goodness-of-fit tests and estimation methods"
  publisher: "International Electrotechnical Commission"
  year: 2013
  type: "guideline"
  of: pitch_growth
}

note projection_caveat {
  text: "The projection assumes the programme keeps finding and fixing at the rate it has. It is a plan, not a forecast: a Crow-AMSAA extrapolation past about twice the observed hours has been wrong often enough that IEC 61710 warns about it explicitly."
  anchor: pitch_growth
}

view programme: gantt(taaf_programme)

caption programme_caption {
  of: programme
  title: "Test-analyse-and-fix programme behind the growth curve"
  text: "The two embodiment milestones are where the cumulative failure plot changes slope. Growth is a consequence of the work on this chart, not a property of the fleet."
  source: "CMMS work orders and the offshore access log."
  style: journal
}