pub struct ABTestResults {Show 14 fields
pub test_id: String,
pub is_significant: bool,
pub confidence_level: f64,
pub chi_squared: f64,
pub p_value: f64,
pub winner: Option<ABTestVariant>,
pub relative_improvement: f64,
pub control_ctr: f64,
pub treatment_ctr: f64,
pub control_success_rate: f64,
pub treatment_success_rate: f64,
pub confidence_interval: (f64, f64),
pub recommendations: Vec<String>,
pub analyzed_at: DateTime<Utc>,
}Expand description
Results of statistical analysis
Fields§
§test_id: StringTest ID
is_significant: boolWhether the result is statistically significant
confidence_level: f64Confidence level achieved (1 - p-value)
chi_squared: f64Chi-squared statistic
p_value: f64P-value
winner: Option<ABTestVariant>Winning variant (if significant)
relative_improvement: f64Relative improvement of winner over loser
control_ctr: f64Control group CTR
treatment_ctr: f64Treatment group CTR
control_success_rate: f64Control group success rate
treatment_success_rate: f64Treatment group success rate
confidence_interval: (f64, f64)95% confidence interval for treatment effect
recommendations: Vec<String>Recommendations based on results
analyzed_at: DateTime<Utc>Analysis timestamp
Trait Implementations§
Source§impl Clone for ABTestResults
impl Clone for ABTestResults
Source§fn clone(&self) -> ABTestResults
fn clone(&self) -> ABTestResults
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ABTestResults
impl Debug for ABTestResults
Source§impl<'de> Deserialize<'de> for ABTestResults
impl<'de> Deserialize<'de> for ABTestResults
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for ABTestResults
impl RefUnwindSafe for ABTestResults
impl Send for ABTestResults
impl Sync for ABTestResults
impl Unpin for ABTestResults
impl UnsafeUnpin for ABTestResults
impl UnwindSafe for ABTestResults
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Converts
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Converts
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Converts
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Converts
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more