In general, the amount of available information about units in the field is very different. During the warranty period, there are only a few cases with complete data (mainly failed units) but lots of cases with incomplete data (usually censored units). As a result, the operating time of units with incomplete information is often inaccurate and must be adjusted by delays.
This function reduces the operating times of incomplete observations by simulated delays (in days). A unit is considered as incomplete if the later of the related dates is unknown. See 'Details' for some practical examples.
Random delay numbers are drawn from the distribution determined by complete cases (described in 'Details' of dist_delay).
mcs_delay(...) # S3 method for wt_mcs_delay_data mcs_delay(..., x, distribution = c("lognormal", "exponential"))
Further arguments passed to or from other methods. Currently not used.
tibble with class
wt_mcs_delay_data returned by mcs_delay_data.
Supposed distribution of the respective delay.
A list with class
wt_mcs_delay containing the following elements:
data : A
tibble returned by mcs_delay_data where two modifications
has been made:
If the column
status exists, the
tibble has additional classes
wt_reliability_data. Otherwise, the
tibble only has
the additional class
wt_mcs_data (which is not supported by estimate_cdf).
time is renamed to
x (to be in accordance with
reliability_data) and contains the adjusted operating times for incomplete
observations and input operating times for the complete observations.
sim_data : A
tibble with column
sim_delay that holds the simulated
delay-specific numbers for incomplete cases and
0 for complete cases.
If more than one delay was considered multiple columns with names
sim_delay_i and corresponding delay-specific random
numbers are presented.
model_estimation : A list returned by dist_delay.
In field data analysis time-dependent characteristics (e.g. time in service) are often imprecisely recorded. These inaccuracies are caused by unconsidered delays.
For a better understanding of the MCS application in the context of field data, two cases are described below.
Delay in registration: It is common that a supplier, which provides
parts to the manufacturing industry does not know when the unit, in which
its parts are installed, were put in service (due to unknown registration or
sales date (
date_2)). Without taking the described delay into account, the
time in service of the failed units would be the difference between the
repair date and the production date (
date_1) and for intact units the
difference between the present date and the production date. But the real
operating times are (much) shorter, since the stress on the components have
not started until the whole systems were put in service. Hence, units with
incomplete data (missing
date_2) must be reduced by the delays.
Delay in report:: Authorized repairers often do not immediately
notify the manufacturer or OEM of repairs that were made during the warranty
period, but instead pass the information about these repairs in collected
forms e.g. weekly, monthly or quarterly. The resulting time difference between
the reporting (
date_2) of the repair in the guarantee database and the
actual repair date (
date_1), which is often assumed to be the failure
date, is called the reporting delay. For a given date where the analysis
is made there could be units which had a failure but the failure isn't
reported and therefore they are treated as censored units. In order to take
this into account and according to the principle of equal opportunities, the
lifetime of units with missing report date (
date_2[i] = NA) is reduced by
simulated reporting delays.
Verband der Automobilindustrie e.V. (VDA); Qualitätsmanagement in der Automobilindustrie. Zuverlässigkeitssicherung bei Automobilherstellern und Lieferanten. Zuverlässigkeits-Methoden und -Hilfsmittel.; 4th Edition, 2016, ISSN:0943-9412
# MCS data preparation: ## Data for delay in registration: mcs_tbl_1 <- mcs_delay_data( field_data, date_1 = production_date, date_2 = registration_date, time = dis, status = status, id = vin ) ## Data for delay in report: mcs_tbl_2 <- mcs_delay_data( field_data, date_1 = repair_date, date_2 = report_date, time = dis, status = status, id = vin ) ## Data for both delays: mcs_tbl_both <- mcs_delay_data( field_data, date_1 = c(production_date, repair_date), date_2 = c(registration_date, report_date), time = dis, status = status, id = vin ) # Example 1 - MCS for delay in registration: mcs_regist <- mcs_delay( x = mcs_tbl_1, distribution = "lognormal" ) # Example 2 - MCS for delay in report: mcs_report <- mcs_delay( x = mcs_tbl_2, distribution = "exponential" ) #> Warning: At least one of the date differences is less than or equal to 0 and is ignored for the estimation step! # Example 3 - Reproducibility of random numbers: set.seed(1234) mcs_report_reproduce <- mcs_delay( x = mcs_tbl_2, distribution = "exponential" ) #> Warning: At least one of the date differences is less than or equal to 0 and is ignored for the estimation step! # Example 4 - MCS for delays in registration and report with same distribution: mcs_delays <- mcs_delay( x = mcs_tbl_both, distribution = "lognormal" ) #> Warning: At least one of the date differences is less than or equal to 0 and is ignored for the estimation step! # Example 5 - MCS for delays in registration and report with different distributions: ## Assuming lognormal registration and exponential reporting delays. mcs_delays_2 <- mcs_delay( x = mcs_tbl_both, distribution = c("lognormal", "exponential") ) #> Warning: At least one of the date differences is less than or equal to 0 and is ignored for the estimation step!