Saved evidence report

Fieldwork / Overview

Explore the saved analysis below. Controls filter this report; they do not rerun the analysis or retrieve source data.

Population: input · 12 evaluated source rows

Analysis: 12 rows; presence=per_row

Search coverage and limits

Search limits restrict what was tested or retained. Untested work is unknown. Display limits below only restrict this report.

missingness: 15/15 pairs evaluated

missingness: 3/3 signatures retained

dependencies: 6/6 candidate keys evaluated

paths: 15/15 pairs evaluated

paths: 6/6 features evaluated

value_patterns: 15/15 pairs evaluated

missingness
pair candidates15
pairs evaluated15
signatures total3
signatures shown3
signature omitted units0
signature omitted rows0
contexts total0
contexts shown0
entity missing key rows0
dependencies
candidate space6
candidates evaluated6
dependency tests30
contexts total0
contexts evaluated0
search orderdeterminant_size_then_input_column_order
paths
features requested6
features evaluated6
features omittednone
pairs evaluated15
pair candidates15
paths evaluated36
distinct alternatives9
alternative policybest_order_per_feature_set_collapsing_alias_substitutions
search exhausted budgetno
requested depth2
returned depth2
value patterns
pair candidates15
pairs evaluated15
Visual summary
Fieldwork overviewFieldwork / Overview12 evaluated rows · 12 rows · per_rowAnalysis: 12 rows; presence=per_rowdistrict (equivalent: status): repeated grouping2 groups, 2 repeated; 12 determinant repeated rows; 3 exact targets, 3 with repeated support; globaltargets tested 5/5channel: repeated grouping3 groups, 3 repeated; 12 determinant repeated rows; 2 exact targets, 2 with repeated support; globaltargets tested 5/5service: repeated grouping2 groups, 2 repeated; 12 determinant repeated rows; 2 exact targets, 2 with repeated support; globaltargets tested 5/5attachment: constant1 groups, 1 repeated; 4 determinant repeated rows; 1 exact targets, 1 with repeated support; globaltargets tested 5/5callback: constant1 groups, 1 repeated; 4 determinant repeated rows; 1 exact targets, 1 with repeated support; globaltargets tested 5/5attachment and callback are mutually exclusiverows · both_present: 0 · either_present: 8 · both_absent: 4 · denominator: 12 · presence_jaccard: 0 ·agreement: 0.333district and status: equivalent value partitionsrows · evaluated_rows: 12 · groups: 2attachment: populated in some rowsrows · populated: 4 · missing: 8 · denominator: 12 · populated_fraction: 0.333callback: populated in some rowsrows · populated: 4 · missing: 8 · denominator: 12 · populated_fraction: 0.333district determines statusExact on 12 evaluated rows; target observed on 12/12 determinant-eligible rows (observed targetcoverage 1); 12/12 rows in repeated groups (repeat coverage 1); repeat-only consistency 1status determines districtExact on 12 evaluated rows; target observed on 12/12 determinant-eligible rows (observed targetcoverage 1); 12/12 rows in repeated groups (repeat coverage 1); repeat-only consistency 1attachment determines serviceExact on 4 evaluated rows; target observed on 4/4 determinant-eligible rows (observed target coverage1); 4/4 rows in repeated groups (repeat coverage 1); repeat-only consistency 1callback determines channelExact on 4 evaluated rows; target observed on 4/4 determinant-eligible rows (observed target coverage1); 4/4 rows in repeated groups (repeat coverage 1); repeat-only consistency 1Present: channel, service, district, status; absent: attachment, callbackrows · count: 4 · denominator: 12Present: channel, service, district, status, callback; absent: attachmentrows · count: 4 · denominator: 12Present: channel, service, district, status, attachment; absent: callbackrows · count: 4 · denominator: 12channel → attachmentObserved prefix groups: channel: 3 → attachment: 5; Availability nonmodal fractions: 0.167, 0Findings: 12/28 shown · display limit reached

The visual summary has its own display limit of up to 12 items per list. Browse the included evidence below.

Browse feature connections

Connections are leads to inspect, not proof of equivalence or causation.

Feature connections

attachment
  • mutually exclusive: attachment, callback · rows; presence=per_row · inspect evidence
  • exact dependency: attachment, service (attachment → service) · rows; presence=per_row · inspect evidence
    strengthexact
    repeated supportyes
callback
  • mutually exclusive: attachment, callback · rows; presence=per_row · inspect evidence
  • exact dependency: callback, channel (callback → channel) · rows; presence=per_row · inspect evidence
    strengthexact
    repeated supportyes
channel
  • exact dependency: callback, channel (callback → channel) · rows; presence=per_row · inspect evidence
    strengthexact
    repeated supportyes
district
  • equivalent value partitions: district, status · rows; presence=per_row · inspect evidence
    relationequivalent_value_partitions
  • exact dependency: district, status (district → status) · rows; presence=per_row · inspect evidence
    strengthexact
    repeated supportyes
  • exact dependency: status, district (status → district) · rows; presence=per_row · inspect evidence
    strengthexact
    repeated supportyes
service
  • exact dependency: attachment, service (attachment → service) · rows; presence=per_row · inspect evidence
    strengthexact
    repeated supportyes
status
  • equivalent value partitions: district, status · rows; presence=per_row · inspect evidence
    relationequivalent_value_partitions
  • exact dependency: district, status (district → status) · rows; presence=per_row · inspect evidence
    strengthexact
    repeated supportyes
  • exact dependency: status, district (status → district) · rows; presence=per_row · inspect evidence
    strengthexact
    repeated supportyes

Candidate grains

district (equivalent: status) repeated grouping

2 groups, 2 repeated; 12 determinant repeated rows; 3 exact targets, 3 with repeated support; global targets tested 5/5

columnsdistrict
equivalentstatus
rolerepeated grouping
groups2
repeated groups2
repeated rows12
determinesstatus, attachment, callback
determines with repeated supportstatus, attachment, callback
global targets tested5
global targets possible5
channel repeated grouping

3 groups, 3 repeated; 12 determinant repeated rows; 2 exact targets, 2 with repeated support; global targets tested 5/5

columnschannel
equivalentnone
rolerepeated grouping
groups3
repeated groups3
repeated rows12
determinesattachment, callback
determines with repeated supportattachment, callback
global targets tested5
global targets possible5
service repeated grouping

2 groups, 2 repeated; 12 determinant repeated rows; 2 exact targets, 2 with repeated support; global targets tested 5/5

columnsservice
equivalentnone
rolerepeated grouping
groups2
repeated groups2
repeated rows12
determinesattachment, callback
determines with repeated supportattachment, callback
global targets tested5
global targets possible5
attachment constant

1 groups, 1 repeated; 4 determinant repeated rows; 1 exact targets, 1 with repeated support; global targets tested 5/5

columnsattachment
equivalentnone
roleconstant
groups1
repeated groups1
repeated rows4
determinesservice
determines with repeated supportservice
global targets tested5
global targets possible5
callback constant

1 groups, 1 repeated; 4 determinant repeated rows; 1 exact targets, 1 with repeated support; global targets tested 5/5

columnscallback
equivalentnone
roleconstant
groups1
repeated groups1
repeated rows4
determineschannel
determines with repeated supportchannel
global targets tested5
global targets possible5

Inspect findings

12 of 28 records included. Display limit reached; increase max_findings when rendering to include more. Search only covers included records.

mutually exclusiveattachment and callback are mutually exclusive columns never populated together

Analysis: rows; presence=per_row

Finding f0 · counting unit: rows

both present0
either present8
both absent4
denominator12
presence jaccard0
agreement0.3333

Representative source rows

Positions are zero-based offsets in the original ordered source, not dataframe index labels. Saved samples are the first matches in source order; their size is not the total support.

Examples: 5/8 saved source positions [0, 1, 2, 4, 5]

Exceptions: 0/0 saved source positions []

In Python, with this result named result and its identical ordered source named df:

result.inspect(df, 'f0')

Use all_matches=True to retrieve all matching rows and exceptions=True for exception rows. These operations require the original source and a Python session.

value aliasdistrict and status: equivalent value partitions equivalent encodings

Analysis: rows; presence=per_row

Finding f1 · counting unit: rows

evaluated rows12
groups2

Representative source rows

Positions are zero-based offsets in the original ordered source, not dataframe index labels. Saved samples are the first matches in source order; their size is not the total support.

Examples: 3/12 saved source positions [0, 1, 2]

Exceptions: 0/0 saved source positions []

In Python, with this result named result and its identical ordered source named df:

result.inspect(df, 'f1')

Use all_matches=True to retrieve all matching rows and exceptions=True for exception rows. These operations require the original source and a Python session.

relationequivalent_value_partitions
availabilityattachment: populated in some rows column is partially populated

Analysis: rows; presence=per_row

Finding f2 · counting unit: rows

populated4
missing8
denominator12
populated fraction0.3333

Representative source rows

Positions are zero-based offsets in the original ordered source, not dataframe index labels. Saved samples are the first matches in source order; their size is not the total support.

Examples: 4/4 saved source positions [0, 1, 2, 8]

Exceptions: 5/8 saved source positions [3, 4, 5, 6, 7]

In Python, with this result named result and its identical ordered source named df:

result.inspect(df, 'f2')

Use all_matches=True to retrieve all matching rows and exceptions=True for exception rows. These operations require the original source and a Python session.

presencesome
availabilitycallback: populated in some rows column is partially populated

Analysis: rows; presence=per_row

Finding f3 · counting unit: rows

populated4
missing8
denominator12
populated fraction0.3333

Representative source rows

Positions are zero-based offsets in the original ordered source, not dataframe index labels. Saved samples are the first matches in source order; their size is not the total support.

Examples: 4/4 saved source positions [4, 5, 6, 7]

Exceptions: 5/8 saved source positions [0, 1, 2, 3, 8]

In Python, with this result named result and its identical ordered source named df:

result.inspect(df, 'f3')

Use all_matches=True to retrieve all matching rows and exceptions=True for exception rows. These operations require the original source and a Python session.

presencesome
exact dependencydistrict determines status rule with repeated support

Analysis: rows; presence=per_row

Finding f4 · counting unit: rows

Exact on 12 evaluated rows; target observed on 12/12 determinant-eligible rows (observed target coverage 1); 12/12 rows in repeated groups (repeat coverage 1); repeat-only consistency 1

determinantdistrict
targetstatus
contextunavailable / not defined
exactyes
modal accuracy1
repair rows0
evaluated rows12
determinant evaluated rows12
target observed rows12
target coverage1
target missing excluded rows0
repeated rows12
repeat coverage1
repeat modal accuracy1
missing excluded rows0
evaluated groups2
violating groups0
affected rows0
group violation rate0
repeated groups2

Representative source rows

Positions are zero-based offsets in the original ordered source, not dataframe index labels. Saved samples are the first matches in source order; their size is not the total support.

Examples: 5/12 saved source positions [0, 1, 2, 3, 4]

Exceptions: 0/0 saved source positions []

In Python, with this result named result and its identical ordered source named df:

result.inspect(df, 'f4')

Use all_matches=True to retrieve all matching rows and exceptions=True for exception rows. These operations require the original source and a Python session.

strengthexact
repeated supportyes
exact dependencystatus determines district rule with repeated support

Analysis: rows; presence=per_row

Finding f5 · counting unit: rows

Exact on 12 evaluated rows; target observed on 12/12 determinant-eligible rows (observed target coverage 1); 12/12 rows in repeated groups (repeat coverage 1); repeat-only consistency 1

determinantstatus
targetdistrict
contextunavailable / not defined
exactyes
modal accuracy1
repair rows0
evaluated rows12
determinant evaluated rows12
target observed rows12
target coverage1
target missing excluded rows0
repeated rows12
repeat coverage1
repeat modal accuracy1
missing excluded rows0
evaluated groups2
violating groups0
affected rows0
group violation rate0
repeated groups2

Representative source rows

Positions are zero-based offsets in the original ordered source, not dataframe index labels. Saved samples are the first matches in source order; their size is not the total support.

Examples: 5/12 saved source positions [0, 1, 2, 3, 4]

Exceptions: 0/0 saved source positions []

In Python, with this result named result and its identical ordered source named df:

result.inspect(df, 'f5')

Use all_matches=True to retrieve all matching rows and exceptions=True for exception rows. These operations require the original source and a Python session.

strengthexact
repeated supportyes
exact dependencyattachment determines service rule with repeated support

Analysis: rows; presence=per_row

Finding f6 · counting unit: rows

Exact on 4 evaluated rows; target observed on 4/4 determinant-eligible rows (observed target coverage 1); 4/4 rows in repeated groups (repeat coverage 1); repeat-only consistency 1

determinantattachment
targetservice
contextunavailable / not defined
exactyes
modal accuracy1
repair rows0
evaluated rows4
determinant evaluated rows4
target observed rows4
target coverage1
target missing excluded rows0
repeated rows4
repeat coverage1
repeat modal accuracy1
missing excluded rows8
evaluated groups1
violating groups0
affected rows0
group violation rate0
repeated groups1

Representative source rows

Positions are zero-based offsets in the original ordered source, not dataframe index labels. Saved samples are the first matches in source order; their size is not the total support.

Examples: 4/4 saved source positions [0, 1, 2, 8]

Exceptions: 0/0 saved source positions []

In Python, with this result named result and its identical ordered source named df:

result.inspect(df, 'f6')

Use all_matches=True to retrieve all matching rows and exceptions=True for exception rows. These operations require the original source and a Python session.

strengthexact
repeated supportyes
exact dependencycallback determines channel rule with repeated support

Analysis: rows; presence=per_row

Finding f7 · counting unit: rows

Exact on 4 evaluated rows; target observed on 4/4 determinant-eligible rows (observed target coverage 1); 4/4 rows in repeated groups (repeat coverage 1); repeat-only consistency 1

determinantcallback
targetchannel
contextunavailable / not defined
exactyes
modal accuracy1
repair rows0
evaluated rows4
determinant evaluated rows4
target observed rows4
target coverage1
target missing excluded rows0
repeated rows4
repeat coverage1
repeat modal accuracy1
missing excluded rows8
evaluated groups1
violating groups0
affected rows0
group violation rate0
repeated groups1

Representative source rows

Positions are zero-based offsets in the original ordered source, not dataframe index labels. Saved samples are the first matches in source order; their size is not the total support.

Examples: 4/4 saved source positions [4, 5, 6, 7]

Exceptions: 0/0 saved source positions []

In Python, with this result named result and its identical ordered source named df:

result.inspect(df, 'f7')

Use all_matches=True to retrieve all matching rows and exceptions=True for exception rows. These operations require the original source and a Python session.

strengthexact
repeated supportyes
availability signaturePresent: channel, service, district, status; absent: attachment, callback availability pattern

Analysis: rows; presence=per_row

Finding f8 · counting unit: rows

count4
denominator12

Representative source rows

Positions are zero-based offsets in the original ordered source, not dataframe index labels. Saved samples are the first matches in source order; their size is not the total support.

Examples: 4/4 saved source positions [3, 9, 10, 11]

Exceptions: 0/0 saved source positions []

In Python, with this result named result and its identical ordered source named df:

result.inspect(df, 'f8')

Use all_matches=True to retrieve all matching rows and exceptions=True for exception rows. These operations require the original source and a Python session.

presentchannel, service, district, status
absentattachment, callback
availability signaturePresent: channel, service, district, status, callback; absent: attachment availability pattern

Analysis: rows; presence=per_row

Finding f9 · counting unit: rows

count4
denominator12

Representative source rows

Positions are zero-based offsets in the original ordered source, not dataframe index labels. Saved samples are the first matches in source order; their size is not the total support.

Examples: 4/4 saved source positions [4, 5, 6, 7]

Exceptions: 0/0 saved source positions []

In Python, with this result named result and its identical ordered source named df:

result.inspect(df, 'f9')

Use all_matches=True to retrieve all matching rows and exceptions=True for exception rows. These operations require the original source and a Python session.

presentchannel, service, district, status, callback
absentattachment
availability signaturePresent: channel, service, district, status, attachment; absent: callback availability pattern

Analysis: rows; presence=per_row

Finding f10 · counting unit: rows

count4
denominator12

Representative source rows

Positions are zero-based offsets in the original ordered source, not dataframe index labels. Saved samples are the first matches in source order; their size is not the total support.

Examples: 4/4 saved source positions [0, 1, 2, 8]

Exceptions: 0/0 saved source positions []

In Python, with this result named result and its identical ordered source named df:

result.inspect(df, 'f10')

Use all_matches=True to retrieve all matching rows and exceptions=True for exception rows. These operations require the original source and a Python session.

presentchannel, service, district, status, attachment
absentcallback
census pathchannel → attachment suggested census path

Analysis: rows; presence=per_row

Finding f11 · counting unit: rows

score2.2
prefix counts3, 5
prefix cost0.2
overflow0
nesting inversions0
redundant steps0
alias steps0
target impurity sum0
target impurity by depthnone
availability impurity sum0.1667
availability impurity by depth0.16666666666666666, 0.0
explanationObserved prefix groups: channel: 3 → attachment: 5; Availability nonmodal fractions: 0.167, 0
reasons
  • kindbranching
    dimensionschannel, attachment
    prefix groups3, 5
    overflow cost0
  • kindnesting
    coarse to finenone
    reversed edges0
  • kindredundancy
    no new groupsnone
    equivalent pairsnone
  • kindavailability_separation
    nonmodal fraction by depth0.16666666666666666, 0.0

Representative source rows

Positions are zero-based offsets in the original ordered source, not dataframe index labels. Saved samples are the first matches in source order; their size is not the total support.

Examples: 3/12 saved source positions [0, 1, 2]

Exceptions: 0/0 saved source positions []

In Python, with this result named result and its identical ordered source named df:

result.inspect(df, 'f11')

Use all_matches=True to retrieve all matching rows and exceptions=True for exception rows. These operations require the original source and a Python session.