pub mod ab_testing;
pub mod attribution;
pub mod bandit;
pub mod cohort;
pub mod engagement;
pub mod error;
pub mod funnel;
pub mod quantile;
pub mod realtime;
pub mod retention;
pub mod session;
pub use ab_testing::{
assign_variant, bayesian_winner, winning_variant, winning_variant_with_alpha, AssignmentMethod,
BayesianAbResult, Experiment, ExperimentResults, OptimisationMetric, Variant, VariantMetrics,
};
pub use bandit::{BanditArm, BanditStrategy, MultiArmedBandit, RegretTracker};
pub use cohort::{
build_cohort_matrix, Cohort, CohortAnalyzer, CohortDefinition, CohortMatrix,
CohortRetentionCell, CohortWindow, UserEvent, ViewerEvent,
};
pub use engagement::{
compute_engagement, decompose_time_series, linear_regression_slope, ContentEngagementScore,
ContentRanker, DecomposedSeries, EngagementComponents, EngagementTrend, EngagementWeights,
SeasonalPeriod,
};
pub use error::AnalyticsError;
pub use funnel::{
compute_funnel, compute_loyalty, predict_churn, ChurnAssessment, ChurnConfig, ChurnRisk,
FunnelAnalyzer, FunnelDefinition, FunnelMilestone, FunnelReport, FunnelResult, FunnelStep,
FunnelStepDef, LoyaltyComponents, LoyaltyScore, LoyaltyWeights, SessionEvent,
};
pub use quantile::{percentiles, TDigest};
pub use realtime::{BucketMetrics, RealtimeEvent, SlidingWindowAggregator};
pub use retention::{
average_view_duration, compare_to_benchmark, compute_retention, compute_retention_incremental,
compute_segment_retention, drop_off_points, re_watch_segments, ContentSegment,
IncrementalRetentionState, RetentionBenchmark, RetentionBucket, RetentionCurve,
SegmentRetentionResult,
};
pub use session::{
analyze_session, analyze_sessions_batch, attention_heatmap, build_playback_map, HeatPoint,
PlaybackEvent, PlaybackMap, SessionMetrics, ViewerSession,
};