pub struct CollusionRing {Show 13 fields
pub ring_id: Uuid,
pub ring_type: CollusionRingType,
pub fraud_category: AcfeFraudCategory,
pub members: Vec<Conspirator>,
pub formation_date: NaiveDate,
pub status: RingStatus,
pub total_stolen: Decimal,
pub transaction_count: u32,
pub detection_risk: f64,
pub behavior: RingBehavior,
pub active_months: u32,
pub transaction_ids: Vec<String>,
pub metadata: HashMap<String, String>,
}Expand description
A collusion ring modeling multiple conspirators in a coordinated scheme.
Fields§
§ring_id: UuidUnique ring identifier.
ring_type: CollusionRingTypeType of collusion ring.
fraud_category: AcfeFraudCategoryACFE fraud category.
members: Vec<Conspirator>Members of the ring.
formation_date: NaiveDateDate the ring was formed.
status: RingStatusCurrent status.
total_stolen: DecimalTotal amount stolen by the ring.
transaction_count: u32Number of successful transactions.
detection_risk: f64Current detection risk (0.0-1.0).
behavior: RingBehaviorBehavioral parameters.
active_months: u32Months the ring has been active.
transaction_ids: Vec<String>Transaction IDs associated with this ring.
metadata: HashMap<String, String>Metadata for tracking.
Implementations§
Source§impl CollusionRing
impl CollusionRing
Sourcepub fn new(
ring_type: CollusionRingType,
fraud_category: AcfeFraudCategory,
formation_date: NaiveDate,
) -> Self
pub fn new( ring_type: CollusionRingType, fraud_category: AcfeFraudCategory, formation_date: NaiveDate, ) -> Self
Creates a new collusion ring.
Sourcepub fn add_member(&mut self, conspirator: Conspirator)
pub fn add_member(&mut self, conspirator: Conspirator)
Adds a conspirator to the ring.
Sourcepub fn initiators(&self) -> Vec<&Conspirator>
pub fn initiators(&self) -> Vec<&Conspirator>
Returns the initiator(s) of the ring.
Sourcepub fn executors(&self) -> Vec<&Conspirator>
pub fn executors(&self) -> Vec<&Conspirator>
Returns the executor(s) of the ring.
Sourcepub fn approvers(&self) -> Vec<&Conspirator>
pub fn approvers(&self) -> Vec<&Conspirator>
Returns the approver(s) of the ring.
Sourcepub fn record_transaction(
&mut self,
amount: Decimal,
transaction_id: impl Into<String>,
)
pub fn record_transaction( &mut self, amount: Decimal, transaction_id: impl Into<String>, )
Records a successful transaction.
Sourcepub fn record_near_miss(&mut self)
pub fn record_near_miss(&mut self)
Records a near miss event.
Sourcepub fn advance_month<R: Rng>(&mut self, rng: &mut R)
pub fn advance_month<R: Rng>(&mut self, rng: &mut R)
Advances the ring by one month.
Sourcepub fn detection_difficulty(&self) -> AnomalyDetectionDifficulty
pub fn detection_difficulty(&self) -> AnomalyDetectionDifficulty
Returns the detection difficulty for this ring.
Calculates the average share per member.
Sourcepub fn description(&self) -> String
pub fn description(&self) -> String
Returns descriptive summary of the ring.
Trait Implementations§
Source§impl Clone for CollusionRing
impl Clone for CollusionRing
Source§fn clone(&self) -> CollusionRing
fn clone(&self) -> CollusionRing
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more