/AWS1/IF_EVY=>GETEXPERIMENTRESULTS()¶
About GetExperimentResults¶
Retrieves the results of a running or completed experiment. No results are available until there have been 100 events for each variation and at least 10 minutes have passed since the start of the experiment. To increase the statistical power, Evidently performs an additional offline p-value analysis at the end of the experiment. Offline p-value analysis can detect statistical significance in some cases where the anytime p-values used during the experiment do not find statistical significance.
Experiment results are available up to 63 days after the start of the experiment. They are not available after that because of CloudWatch data retention policies.
Method Signature¶
METHODS /AWS1/IF_EVY~GETEXPERIMENTRESULTS
IMPORTING
!IV_PROJECT TYPE /AWS1/EVYPROJECTREF OPTIONAL
!IV_EXPERIMENT TYPE /AWS1/EVYEXPERIMENTNAME OPTIONAL
!IV_STARTTIME TYPE /AWS1/EVYTIMESTAMP OPTIONAL
!IV_ENDTIME TYPE /AWS1/EVYTIMESTAMP OPTIONAL
!IT_METRICNAMES TYPE /AWS1/CL_EVYMETRICNAMELIST_W=>TT_METRICNAMELIST OPTIONAL
!IT_TREATMENTNAMES TYPE /AWS1/CL_EVYTREATMENTNAMELST_W=>TT_TREATMENTNAMELIST OPTIONAL
!IV_BASESTAT TYPE /AWS1/EVYEXPERIMENTBASESTAT OPTIONAL
!IT_RESULTSTATS TYPE /AWS1/CL_EVYEXPERIMENTRSREQT00=>TT_EXPERIMENTRESULTREQTYPELIST OPTIONAL
!IT_REPORTNAMES TYPE /AWS1/CL_EVYEXPERIMENTRPTNAM00=>TT_EXPERIMENTREPORTNAMELIST OPTIONAL
!IV_PERIOD TYPE /AWS1/EVYRESULTSPERIOD OPTIONAL
RETURNING
VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_evygetexperimentrss01
RAISING
/AWS1/CX_EVYACCESSDENIEDEX
/AWS1/CX_EVYCONFLICTEXCEPTION
/AWS1/CX_EVYRESOURCENOTFOUNDEX
/AWS1/CX_EVYTHROTTLINGEX
/AWS1/CX_EVYVALIDATIONEX
/AWS1/CX_EVYCLIENTEXC
/AWS1/CX_EVYSERVEREXC
/AWS1/CX_RT_TECHNICAL_GENERIC
/AWS1/CX_RT_SERVICE_GENERIC.
IMPORTING¶
Required arguments:¶
iv_project TYPE /AWS1/EVYPROJECTREF /AWS1/EVYPROJECTREF¶
The name or ARN of the project that contains the experiment that you want to see the results of.
iv_experiment TYPE /AWS1/EVYEXPERIMENTNAME /AWS1/EVYEXPERIMENTNAME¶
The name of the experiment to retrieve the results of.
it_metricnames TYPE /AWS1/CL_EVYMETRICNAMELIST_W=>TT_METRICNAMELIST TT_METRICNAMELIST¶
The names of the experiment metrics that you want to see the results of.
it_treatmentnames TYPE /AWS1/CL_EVYTREATMENTNAMELST_W=>TT_TREATMENTNAMELIST TT_TREATMENTNAMELIST¶
The names of the experiment treatments that you want to see the results for.
Optional arguments:¶
iv_starttime TYPE /AWS1/EVYTIMESTAMP /AWS1/EVYTIMESTAMP¶
The date and time that the experiment started.
iv_endtime TYPE /AWS1/EVYTIMESTAMP /AWS1/EVYTIMESTAMP¶
The date and time that the experiment ended, if it is completed. This must be no longer than 30 days after the experiment start time.
iv_basestat TYPE /AWS1/EVYEXPERIMENTBASESTAT /AWS1/EVYEXPERIMENTBASESTAT¶
The statistic used to calculate experiment results. Currently the only valid value is
mean, which uses the mean of the collected values as the statistic.
it_resultstats TYPE /AWS1/CL_EVYEXPERIMENTRSREQT00=>TT_EXPERIMENTRESULTREQTYPELIST TT_EXPERIMENTRESULTREQTYPELIST¶
The statistics that you want to see in the returned results.
PValuespecifies to use p-values for the results. A p-value is used in hypothesis testing to measure how often you are willing to make a mistake in rejecting the null hypothesis. A general practice is to reject the null hypothesis and declare that the results are statistically significant when the p-value is less than 0.05.
ConfidenceIntervalspecifies a confidence interval for the results. The confidence interval represents the range of values for the chosen metric that is likely to contain the true difference between thebaseStatof a variation and the baseline. Evidently returns the 95% confidence interval.
TreatmentEffectis the difference in the statistic specified by thebaseStatparameter between each variation and the default variation.
BaseStatreturns the statistical values collected for the metric for each variation. The statistic uses the same statistic specified in thebaseStatparameter. Therefore, ifbaseStatismean, this returns the mean of the values collected for each variation.
it_reportnames TYPE /AWS1/CL_EVYEXPERIMENTRPTNAM00=>TT_EXPERIMENTREPORTNAMELIST TT_EXPERIMENTREPORTNAMELIST¶
The names of the report types that you want to see. Currently,
BayesianInferenceis the only valid value.
iv_period TYPE /AWS1/EVYRESULTSPERIOD /AWS1/EVYRESULTSPERIOD¶
In seconds, the amount of time to aggregate results together.
RETURNING¶
oo_output TYPE REF TO /aws1/cl_evygetexperimentrss01 /AWS1/CL_EVYGETEXPERIMENTRSS01¶
Domain /AWS1/RT_ACCOUNT_ID Primitive Type NUMC
Examples¶
Syntax Example¶
This is an example of the syntax for calling the method. It includes every possible argument and initializes every possible value. The data provided is not necessarily semantically accurate (for example the value "string" may be provided for something that is intended to be an instance ID, or in some cases two arguments may be mutually exclusive). The syntax shows the ABAP syntax for creating the various data structures.
DATA(lo_result) = lo_client->getexperimentresults(
it_metricnames = VALUE /aws1/cl_evymetricnamelist_w=>tt_metricnamelist(
( new /aws1/cl_evymetricnamelist_w( |string| ) )
)
it_reportnames = VALUE /aws1/cl_evyexperimentrptnam00=>tt_experimentreportnamelist(
( new /aws1/cl_evyexperimentrptnam00( |string| ) )
)
it_resultstats = VALUE /aws1/cl_evyexperimentrsreqt00=>tt_experimentresultreqtypelist(
( new /aws1/cl_evyexperimentrsreqt00( |string| ) )
)
it_treatmentnames = VALUE /aws1/cl_evytreatmentnamelst_w=>tt_treatmentnamelist(
( new /aws1/cl_evytreatmentnamelst_w( |string| ) )
)
iv_basestat = |string|
iv_endtime = '20150101000000.0000000'
iv_experiment = |string|
iv_period = 123
iv_project = |string|
iv_starttime = '20150101000000.0000000'
).
This is an example of reading all possible response values
lo_result = lo_result.
IF lo_result IS NOT INITIAL.
LOOP AT lo_result->get_resultsdata( ) into lo_row.
lo_row_1 = lo_row.
IF lo_row_1 IS NOT INITIAL.
lv_cwdimensionsafename = lo_row_1->get_metricname( ).
lv_treatmentname = lo_row_1->get_treatmentname( ).
lv_experimentresultrespons = lo_row_1->get_resultstat( ).
LOOP AT lo_row_1->get_values( ) into lo_row_2.
lo_row_3 = lo_row_2.
IF lo_row_3 IS NOT INITIAL.
lv_double = lo_row_3->get_value( ).
ENDIF.
ENDLOOP.
ENDIF.
ENDLOOP.
LOOP AT lo_result->get_reports( ) into lo_row_4.
lo_row_5 = lo_row_4.
IF lo_row_5 IS NOT INITIAL.
lv_cwdimensionsafename = lo_row_5->get_metricname( ).
lv_treatmentname = lo_row_5->get_treatmentname( ).
lv_experimentreportname = lo_row_5->get_reportname( ).
lv_jsonvalue = lo_row_5->get_content( ).
ENDIF.
ENDLOOP.
LOOP AT lo_result->get_timestamps( ) into lo_row_6.
lo_row_7 = lo_row_6.
IF lo_row_7 IS NOT INITIAL.
lv_timestamp = lo_row_7->get_value( ).
ENDIF.
ENDLOOP.
lv_string = lo_result->get_details( ).
ENDIF.