py-why / dowhy

DoWhy is a Python library for causal inference that supports explicit modeling and testing of causal assumptions. DoWhy is based on a unified language for causal inference, combining causal graphical models and potential outcomes frameworks.
https://www.pywhy.org/dowhy
MIT License
7.05k stars 924 forks source link

Errors of Notebook: The Causal Story Behind Hotel Booking Cancellations #198

Open xxwywzy opened 3 years ago

xxwywzy commented 3 years ago

Hi, Thank you for creating such a great library for causal inference ! I am currently starting to learn the library through the provided notebook: The Causal Story Behind Hotel Booking Cancellations. Everything goes well before the identification step. However, when performing the identification, the model returns a total of 258 estimand instead of only one estimand in the given example. Then, the estiimation throw an error: ValueError: Input contains NaN, infinity or a value too large for dtype('float64'). Since I am not quite familiar with the library, could you explain what happens and how to fix this error? Thank you very much !

Estimand type: nonparametric-ate

### Estimand : 1
Estimand name: backdoor1
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|lead_time,booking_changes))
d[different_room_assigned]                                                    
Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,lead_time,booking_changes,U) = P(is_canceled|different_room_assigned,lead_time,booking_changes)

### Estimand : 2
Estimand name: backdoor2
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,lead_time,bookin
d[different_room_assigned]                                                    

g_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,lead_time,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,lead_time,booking_changes)

### Estimand : 3
Estimand name: backdoor3
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|is_repeated_guest,lead_time
d[different_room_assigned]                                                    

,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,booking_changes,U) = P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,booking_changes)

### Estimand : 4
Estimand name: backdoor4
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|lead_time,days_in_waiting_l
d[different_room_assigned]                                                    

ist,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,lead_time,days_in_waiting_list,booking_changes,U) = P(is_canceled|different_room_assigned,lead_time,days_in_waiting_list,booking_changes)

### Estimand : 5
Estimand name: backdoor5
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|lead_time,meal,booking_chan
d[different_room_assigned]                                                    

ges))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,lead_time,meal,booking_changes,U) = P(is_canceled|different_room_assigned,lead_time,meal,booking_changes)

### Estimand : 6
Estimand name: backdoor6
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|lead_time,guests,booking_ch
d[different_room_assigned]                                                    

anges))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,lead_time,guests,booking_changes,U) = P(is_canceled|different_room_assigned,lead_time,guests,booking_changes)

### Estimand : 7
Estimand name: backdoor7
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|lead_time,market_segment,bo
d[different_room_assigned]                                                    

oking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,lead_time,market_segment,booking_changes,U) = P(is_canceled|different_room_assigned,lead_time,market_segment,booking_changes)

### Estimand : 8
Estimand name: backdoor8
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|lead_time,country,booking_c
d[different_room_assigned]                                                    

hanges))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,lead_time,country,booking_changes,U) = P(is_canceled|different_room_assigned,lead_time,country,booking_changes)

### Estimand : 9
Estimand name: backdoor9
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|lead_time,previous_bookings
d[different_room_assigned]                                                    

_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,lead_time,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,lead_time,previous_bookings_not_canceled,booking_changes)

### Estimand : 10
Estimand name: backdoor10
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,is_repeated_gues
d[different_room_assigned]                                                    

t,lead_time,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,booking_changes)

### Estimand : 11
Estimand name: backdoor11
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,lead_time,days_i
d[different_room_assigned]                                                    

n_waiting_list,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,lead_time,days_in_waiting_list,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,lead_time,days_in_waiting_list,booking_changes)

### Estimand : 12
Estimand name: backdoor12
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,lead_time,meal,b
d[different_room_assigned]                                                    

ooking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,lead_time,meal,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,lead_time,meal,booking_changes)

### Estimand : 13
Estimand name: backdoor13
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,lead_time,guests
d[different_room_assigned]                                                    

,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,lead_time,guests,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,lead_time,guests,booking_changes)

### Estimand : 14
Estimand name: backdoor14
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,lead_time,market
d[different_room_assigned]                                                    

_segment,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,lead_time,market_segment,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,lead_time,market_segment,booking_changes)

### Estimand : 15
Estimand name: backdoor15
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,lead_time,countr
d[different_room_assigned]                                                    

y,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,lead_time,country,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,lead_time,country,booking_changes)

### Estimand : 16
Estimand name: backdoor16
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,lead_time,previo
d[different_room_assigned]                                                    

us_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,lead_time,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,lead_time,previous_bookings_not_canceled,booking_changes)

### Estimand : 17
Estimand name: backdoor17
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|is_repeated_guest,lead_time
d[different_room_assigned]                                                    

,days_in_waiting_list,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,days_in_waiting_list,booking_changes,U) = P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,days_in_waiting_list,booking_changes)

### Estimand : 18
Estimand name: backdoor18
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|is_repeated_guest,lead_time
d[different_room_assigned]                                                    

,meal,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,meal,booking_changes,U) = P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,meal,booking_changes)

### Estimand : 19
Estimand name: backdoor19
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|is_repeated_guest,lead_time
d[different_room_assigned]                                                    

,guests,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,guests,booking_changes,U) = P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,guests,booking_changes)

### Estimand : 20
Estimand name: backdoor20
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|is_repeated_guest,lead_time
d[different_room_assigned]                                                    

,market_segment,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,market_segment,booking_changes,U) = P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,market_segment,booking_changes)

### Estimand : 21
Estimand name: backdoor21
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|is_repeated_guest,lead_time
d[different_room_assigned]                                                    

,country,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,country,booking_changes,U) = P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,country,booking_changes)

### Estimand : 22
Estimand name: backdoor22
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|is_repeated_guest,lead_time
d[different_room_assigned]                                                    

,previous_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,previous_bookings_not_canceled,booking_changes)

### Estimand : 23
Estimand name: backdoor23
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|lead_time,days_in_waiting_l
d[different_room_assigned]                                                    

ist,meal,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,lead_time,days_in_waiting_list,meal,booking_changes,U) = P(is_canceled|different_room_assigned,lead_time,days_in_waiting_list,meal,booking_changes)

### Estimand : 24
Estimand name: backdoor24
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|lead_time,days_in_waiting_l
d[different_room_assigned]                                                    

ist,guests,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,lead_time,days_in_waiting_list,guests,booking_changes,U) = P(is_canceled|different_room_assigned,lead_time,days_in_waiting_list,guests,booking_changes)

### Estimand : 25
Estimand name: backdoor25
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|lead_time,days_in_waiting_l
d[different_room_assigned]                                                    

ist,market_segment,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,lead_time,days_in_waiting_list,market_segment,booking_changes,U) = P(is_canceled|different_room_assigned,lead_time,days_in_waiting_list,market_segment,booking_changes)

### Estimand : 26
Estimand name: backdoor26
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|lead_time,days_in_waiting_l
d[different_room_assigned]                                                    

ist,country,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,lead_time,days_in_waiting_list,country,booking_changes,U) = P(is_canceled|different_room_assigned,lead_time,days_in_waiting_list,country,booking_changes)

### Estimand : 27
Estimand name: backdoor27
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|lead_time,days_in_waiting_l
d[different_room_assigned]                                                    

ist,previous_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,lead_time,days_in_waiting_list,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,lead_time,days_in_waiting_list,previous_bookings_not_canceled,booking_changes)

### Estimand : 28
Estimand name: backdoor28
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|lead_time,meal,guests,booki
d[different_room_assigned]                                                    

ng_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,lead_time,meal,guests,booking_changes,U) = P(is_canceled|different_room_assigned,lead_time,meal,guests,booking_changes)

### Estimand : 29
Estimand name: backdoor29
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|lead_time,meal,market_segme
d[different_room_assigned]                                                    

nt,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,lead_time,meal,market_segment,booking_changes,U) = P(is_canceled|different_room_assigned,lead_time,meal,market_segment,booking_changes)

### Estimand : 30
Estimand name: backdoor30
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|lead_time,meal,country,book
d[different_room_assigned]                                                    

ing_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,lead_time,meal,country,booking_changes,U) = P(is_canceled|different_room_assigned,lead_time,meal,country,booking_changes)

### Estimand : 31
Estimand name: backdoor31
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|lead_time,meal,previous_boo
d[different_room_assigned]                                                    

kings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,lead_time,meal,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,lead_time,meal,previous_bookings_not_canceled,booking_changes)

### Estimand : 32
Estimand name: backdoor32
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|lead_time,guests,market_seg
d[different_room_assigned]                                                    

ment,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,lead_time,guests,market_segment,booking_changes,U) = P(is_canceled|different_room_assigned,lead_time,guests,market_segment,booking_changes)

### Estimand : 33
Estimand name: backdoor33
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|lead_time,guests,country,bo
d[different_room_assigned]                                                    

oking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,lead_time,guests,country,booking_changes,U) = P(is_canceled|different_room_assigned,lead_time,guests,country,booking_changes)

### Estimand : 34
Estimand name: backdoor34
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|lead_time,guests,previous_b
d[different_room_assigned]                                                    

ookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,lead_time,guests,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,lead_time,guests,previous_bookings_not_canceled,booking_changes)

### Estimand : 35
Estimand name: backdoor35
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|lead_time,market_segment,co
d[different_room_assigned]                                                    

untry,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,lead_time,market_segment,country,booking_changes,U) = P(is_canceled|different_room_assigned,lead_time,market_segment,country,booking_changes)

### Estimand : 36
Estimand name: backdoor36
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|lead_time,market_segment,pr
d[different_room_assigned]                                                    

evious_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,lead_time,market_segment,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,lead_time,market_segment,previous_bookings_not_canceled,booking_changes)

### Estimand : 37
Estimand name: backdoor37
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|lead_time,country,previous_
d[different_room_assigned]                                                    

bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,lead_time,country,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,lead_time,country,previous_bookings_not_canceled,booking_changes)

### Estimand : 38
Estimand name: backdoor38
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,is_repeated_gues
d[different_room_assigned]                                                    

t,lead_time,days_in_waiting_list,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,days_in_waiting_list,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,days_in_waiting_list,booking_changes)

### Estimand : 39
Estimand name: backdoor39
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,is_repeated_gues
d[different_room_assigned]                                                    

t,lead_time,meal,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,meal,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,meal,booking_changes)

### Estimand : 40
Estimand name: backdoor40
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,is_repeated_gues
d[different_room_assigned]                                                    

t,lead_time,guests,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,guests,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,guests,booking_changes)

### Estimand : 41
Estimand name: backdoor41
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,is_repeated_gues
d[different_room_assigned]                                                    

t,lead_time,market_segment,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,market_segment,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,market_segment,booking_changes)

### Estimand : 42
Estimand name: backdoor42
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,is_repeated_gues
d[different_room_assigned]                                                    

t,lead_time,country,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,country,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,country,booking_changes)

### Estimand : 43
Estimand name: backdoor43
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,is_repeated_gues
d[different_room_assigned]                                                    

t,lead_time,previous_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,previous_bookings_not_canceled,booking_changes)

### Estimand : 44
Estimand name: backdoor44
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,lead_time,days_i
d[different_room_assigned]                                                    

n_waiting_list,meal,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,lead_time,days_in_waiting_list,meal,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,lead_time,days_in_waiting_list,meal,booking_changes)

### Estimand : 45
Estimand name: backdoor45
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,lead_time,days_i
d[different_room_assigned]                                                    

n_waiting_list,guests,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,lead_time,days_in_waiting_list,guests,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,lead_time,days_in_waiting_list,guests,booking_changes)

### Estimand : 46
Estimand name: backdoor46
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,lead_time,days_i
d[different_room_assigned]                                                    

n_waiting_list,market_segment,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,lead_time,days_in_waiting_list,market_segment,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,lead_time,days_in_waiting_list,market_segment,booking_changes)

### Estimand : 47
Estimand name: backdoor47
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,lead_time,days_i
d[different_room_assigned]                                                    

n_waiting_list,country,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,lead_time,days_in_waiting_list,country,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,lead_time,days_in_waiting_list,country,booking_changes)

### Estimand : 48
Estimand name: backdoor48
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,lead_time,days_i
d[different_room_assigned]                                                    

n_waiting_list,previous_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,lead_time,days_in_waiting_list,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,lead_time,days_in_waiting_list,previous_bookings_not_canceled,booking_changes)

### Estimand : 49
Estimand name: backdoor49
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,lead_time,meal,g
d[different_room_assigned]                                                    

uests,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,lead_time,meal,guests,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,lead_time,meal,guests,booking_changes)

### Estimand : 50
Estimand name: backdoor50
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,lead_time,meal,m
d[different_room_assigned]                                                    

arket_segment,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,lead_time,meal,market_segment,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,lead_time,meal,market_segment,booking_changes)

### Estimand : 51
Estimand name: backdoor51
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,lead_time,meal,c
d[different_room_assigned]                                                    

ountry,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,lead_time,meal,country,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,lead_time,meal,country,booking_changes)

### Estimand : 52
Estimand name: backdoor52
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,lead_time,meal,p
d[different_room_assigned]                                                    

revious_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,lead_time,meal,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,lead_time,meal,previous_bookings_not_canceled,booking_changes)

### Estimand : 53
Estimand name: backdoor53
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,lead_time,guests
d[different_room_assigned]                                                    

,market_segment,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,lead_time,guests,market_segment,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,lead_time,guests,market_segment,booking_changes)

### Estimand : 54
Estimand name: backdoor54
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,lead_time,guests
d[different_room_assigned]                                                    

,country,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,lead_time,guests,country,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,lead_time,guests,country,booking_changes)

### Estimand : 55
Estimand name: backdoor55
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,lead_time,guests
d[different_room_assigned]                                                    

,previous_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,lead_time,guests,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,lead_time,guests,previous_bookings_not_canceled,booking_changes)

### Estimand : 56
Estimand name: backdoor56
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,lead_time,market
d[different_room_assigned]                                                    

_segment,country,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,lead_time,market_segment,country,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,lead_time,market_segment,country,booking_changes)

### Estimand : 57
Estimand name: backdoor57
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,lead_time,market
d[different_room_assigned]                                                    

_segment,previous_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,lead_time,market_segment,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,lead_time,market_segment,previous_bookings_not_canceled,booking_changes)

### Estimand : 58
Estimand name: backdoor58
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,lead_time,countr
d[different_room_assigned]                                                    

y,previous_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,lead_time,country,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,lead_time,country,previous_bookings_not_canceled,booking_changes)

### Estimand : 59
Estimand name: backdoor59
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|is_repeated_guest,lead_time
d[different_room_assigned]                                                    

,days_in_waiting_list,meal,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,days_in_waiting_list,meal,booking_changes,U) = P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,days_in_waiting_list,meal,booking_changes)

### Estimand : 60
Estimand name: backdoor60
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|is_repeated_guest,lead_time
d[different_room_assigned]                                                    

,days_in_waiting_list,guests,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,days_in_waiting_list,guests,booking_changes,U) = P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,days_in_waiting_list,guests,booking_changes)

### Estimand : 61
Estimand name: backdoor61
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|is_repeated_guest,lead_time
d[different_room_assigned]                                                    

,days_in_waiting_list,market_segment,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,days_in_waiting_list,market_segment,booking_changes,U) = P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,days_in_waiting_list,market_segment,booking_changes)

### Estimand : 62
Estimand name: backdoor62
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|is_repeated_guest,lead_time
d[different_room_assigned]                                                    

,days_in_waiting_list,country,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,days_in_waiting_list,country,booking_changes,U) = P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,days_in_waiting_list,country,booking_changes)

### Estimand : 63
Estimand name: backdoor63
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|is_repeated_guest,lead_time
d[different_room_assigned]                                                    

,days_in_waiting_list,previous_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,days_in_waiting_list,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,days_in_waiting_list,previous_bookings_not_canceled,booking_changes)

### Estimand : 64
Estimand name: backdoor64
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|is_repeated_guest,lead_time
d[different_room_assigned]                                                    

,meal,guests,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,meal,guests,booking_changes,U) = P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,meal,guests,booking_changes)

### Estimand : 65
Estimand name: backdoor65
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|is_repeated_guest,lead_time
d[different_room_assigned]                                                    

,meal,market_segment,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,meal,market_segment,booking_changes,U) = P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,meal,market_segment,booking_changes)

### Estimand : 66
Estimand name: backdoor66
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|is_repeated_guest,lead_time
d[different_room_assigned]                                                    

,meal,country,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,meal,country,booking_changes,U) = P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,meal,country,booking_changes)

### Estimand : 67
Estimand name: backdoor67
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|is_repeated_guest,lead_time
d[different_room_assigned]                                                    

,meal,previous_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,meal,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,meal,previous_bookings_not_canceled,booking_changes)

### Estimand : 68
Estimand name: backdoor68
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|is_repeated_guest,lead_time
d[different_room_assigned]                                                    

,guests,market_segment,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,guests,market_segment,booking_changes,U) = P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,guests,market_segment,booking_changes)

### Estimand : 69
Estimand name: backdoor69
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|is_repeated_guest,lead_time
d[different_room_assigned]                                                    

,guests,country,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,guests,country,booking_changes,U) = P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,guests,country,booking_changes)

### Estimand : 70
Estimand name: backdoor70
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|is_repeated_guest,lead_time
d[different_room_assigned]                                                    

,guests,previous_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,guests,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,guests,previous_bookings_not_canceled,booking_changes)

### Estimand : 71
Estimand name: backdoor71
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|is_repeated_guest,lead_time
d[different_room_assigned]                                                    

,market_segment,country,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,market_segment,country,booking_changes,U) = P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,market_segment,country,booking_changes)

### Estimand : 72
Estimand name: backdoor72
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|is_repeated_guest,lead_time
d[different_room_assigned]                                                    

,market_segment,previous_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,market_segment,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,market_segment,previous_bookings_not_canceled,booking_changes)

### Estimand : 73
Estimand name: backdoor73
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|is_repeated_guest,lead_time
d[different_room_assigned]                                                    

,country,previous_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,country,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,country,previous_bookings_not_canceled,booking_changes)

### Estimand : 74
Estimand name: backdoor74
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|lead_time,days_in_waiting_l
d[different_room_assigned]                                                    

ist,meal,guests,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,lead_time,days_in_waiting_list,meal,guests,booking_changes,U) = P(is_canceled|different_room_assigned,lead_time,days_in_waiting_list,meal,guests,booking_changes)

### Estimand : 75
Estimand name: backdoor75
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|lead_time,days_in_waiting_l
d[different_room_assigned]                                                    

ist,meal,market_segment,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,lead_time,days_in_waiting_list,meal,market_segment,booking_changes,U) = P(is_canceled|different_room_assigned,lead_time,days_in_waiting_list,meal,market_segment,booking_changes)

### Estimand : 76
Estimand name: backdoor76
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|lead_time,days_in_waiting_l
d[different_room_assigned]                                                    

ist,meal,country,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,lead_time,days_in_waiting_list,meal,country,booking_changes,U) = P(is_canceled|different_room_assigned,lead_time,days_in_waiting_list,meal,country,booking_changes)

### Estimand : 77
Estimand name: backdoor77
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|lead_time,days_in_waiting_l
d[different_room_assigned]                                                    

ist,meal,previous_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,lead_time,days_in_waiting_list,meal,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,lead_time,days_in_waiting_list,meal,previous_bookings_not_canceled,booking_changes)

### Estimand : 78
Estimand name: backdoor78
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|lead_time,days_in_waiting_l
d[different_room_assigned]                                                    

ist,guests,market_segment,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,lead_time,days_in_waiting_list,guests,market_segment,booking_changes,U) = P(is_canceled|different_room_assigned,lead_time,days_in_waiting_list,guests,market_segment,booking_changes)

### Estimand : 79
Estimand name: backdoor79
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|lead_time,days_in_waiting_l
d[different_room_assigned]                                                    

ist,guests,country,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,lead_time,days_in_waiting_list,guests,country,booking_changes,U) = P(is_canceled|different_room_assigned,lead_time,days_in_waiting_list,guests,country,booking_changes)

### Estimand : 80
Estimand name: backdoor80
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|lead_time,days_in_waiting_l
d[different_room_assigned]                                                    

ist,guests,previous_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,lead_time,days_in_waiting_list,guests,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,lead_time,days_in_waiting_list,guests,previous_bookings_not_canceled,booking_changes)

### Estimand : 81
Estimand name: backdoor81
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|lead_time,days_in_waiting_l
d[different_room_assigned]                                                    

ist,market_segment,country,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,lead_time,days_in_waiting_list,market_segment,country,booking_changes,U) = P(is_canceled|different_room_assigned,lead_time,days_in_waiting_list,market_segment,country,booking_changes)

### Estimand : 82
Estimand name: backdoor82
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|lead_time,days_in_waiting_l
d[different_room_assigned]                                                    

ist,market_segment,previous_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,lead_time,days_in_waiting_list,market_segment,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,lead_time,days_in_waiting_list,market_segment,previous_bookings_not_canceled,booking_changes)

### Estimand : 83
Estimand name: backdoor83
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|lead_time,days_in_waiting_l
d[different_room_assigned]                                                    

ist,country,previous_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,lead_time,days_in_waiting_list,country,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,lead_time,days_in_waiting_list,country,previous_bookings_not_canceled,booking_changes)

### Estimand : 84
Estimand name: backdoor84
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|lead_time,meal,guests,marke
d[different_room_assigned]                                                    

t_segment,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,lead_time,meal,guests,market_segment,booking_changes,U) = P(is_canceled|different_room_assigned,lead_time,meal,guests,market_segment,booking_changes)

### Estimand : 85
Estimand name: backdoor85
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|lead_time,meal,guests,count
d[different_room_assigned]                                                    

ry,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,lead_time,meal,guests,country,booking_changes,U) = P(is_canceled|different_room_assigned,lead_time,meal,guests,country,booking_changes)

### Estimand : 86
Estimand name: backdoor86
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|lead_time,meal,guests,previ
d[different_room_assigned]                                                    

ous_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,lead_time,meal,guests,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,lead_time,meal,guests,previous_bookings_not_canceled,booking_changes)

### Estimand : 87
Estimand name: backdoor87
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|lead_time,meal,market_segme
d[different_room_assigned]                                                    

nt,country,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,lead_time,meal,market_segment,country,booking_changes,U) = P(is_canceled|different_room_assigned,lead_time,meal,market_segment,country,booking_changes)

### Estimand : 88
Estimand name: backdoor88
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|lead_time,meal,market_segme
d[different_room_assigned]                                                    

nt,previous_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,lead_time,meal,market_segment,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,lead_time,meal,market_segment,previous_bookings_not_canceled,booking_changes)

### Estimand : 89
Estimand name: backdoor89
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|lead_time,meal,country,prev
d[different_room_assigned]                                                    

ious_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,lead_time,meal,country,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,lead_time,meal,country,previous_bookings_not_canceled,booking_changes)

### Estimand : 90
Estimand name: backdoor90
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|lead_time,guests,market_seg
d[different_room_assigned]                                                    

ment,country,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,lead_time,guests,market_segment,country,booking_changes,U) = P(is_canceled|different_room_assigned,lead_time,guests,market_segment,country,booking_changes)

### Estimand : 91
Estimand name: backdoor91
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|lead_time,guests,market_seg
d[different_room_assigned]                                                    

ment,previous_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,lead_time,guests,market_segment,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,lead_time,guests,market_segment,previous_bookings_not_canceled,booking_changes)

### Estimand : 92
Estimand name: backdoor92
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|lead_time,guests,country,pr
d[different_room_assigned]                                                    

evious_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,lead_time,guests,country,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,lead_time,guests,country,previous_bookings_not_canceled,booking_changes)

### Estimand : 93
Estimand name: backdoor93
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|lead_time,market_segment,co
d[different_room_assigned]                                                    

untry,previous_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,lead_time,market_segment,country,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,lead_time,market_segment,country,previous_bookings_not_canceled,booking_changes)

### Estimand : 94
Estimand name: backdoor94
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,is_repeated_gues
d[different_room_assigned]                                                    

t,lead_time,days_in_waiting_list,meal,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,days_in_waiting_list,meal,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,days_in_waiting_list,meal,booking_changes)

### Estimand : 95
Estimand name: backdoor95
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,is_repeated_gues
d[different_room_assigned]                                                    

t,lead_time,days_in_waiting_list,guests,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,days_in_waiting_list,guests,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,days_in_waiting_list,guests,booking_changes)

### Estimand : 96
Estimand name: backdoor96
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,is_repeated_gues
d[different_room_assigned]                                                    

t,lead_time,days_in_waiting_list,market_segment,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,days_in_waiting_list,market_segment,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,days_in_waiting_list,market_segment,booking_changes)

### Estimand : 97
Estimand name: backdoor97
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,is_repeated_gues
d[different_room_assigned]                                                    

t,lead_time,days_in_waiting_list,country,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,days_in_waiting_list,country,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,days_in_waiting_list,country,booking_changes)

### Estimand : 98
Estimand name: backdoor98
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,is_repeated_gues
d[different_room_assigned]                                                    

t,lead_time,days_in_waiting_list,previous_bookings_not_canceled,booking_change

s))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,days_in_waiting_list,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,days_in_waiting_list,previous_bookings_not_canceled,booking_changes)

### Estimand : 99
Estimand name: backdoor99
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,is_repeated_gues
d[different_room_assigned]                                                    

t,lead_time,meal,guests,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,meal,guests,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,meal,guests,booking_changes)

### Estimand : 100
Estimand name: backdoor100
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,is_repeated_gues
d[different_room_assigned]                                                    

t,lead_time,meal,market_segment,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,meal,market_segment,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,meal,market_segment,booking_changes)

### Estimand : 101
Estimand name: backdoor101
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,is_repeated_gues
d[different_room_assigned]                                                    

t,lead_time,meal,country,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,meal,country,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,meal,country,booking_changes)

### Estimand : 102
Estimand name: backdoor102
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,is_repeated_gues
d[different_room_assigned]                                                    

t,lead_time,meal,previous_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,meal,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,meal,previous_bookings_not_canceled,booking_changes)

### Estimand : 103
Estimand name: backdoor103
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,is_repeated_gues
d[different_room_assigned]                                                    

t,lead_time,guests,market_segment,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,guests,market_segment,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,guests,market_segment,booking_changes)

### Estimand : 104
Estimand name: backdoor104
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,is_repeated_gues
d[different_room_assigned]                                                    

t,lead_time,guests,country,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,guests,country,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,guests,country,booking_changes)

### Estimand : 105
Estimand name: backdoor105
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,is_repeated_gues
d[different_room_assigned]                                                    

t,lead_time,guests,previous_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,guests,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,guests,previous_bookings_not_canceled,booking_changes)

### Estimand : 106
Estimand name: backdoor106
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,is_repeated_gues
d[different_room_assigned]                                                    

t,lead_time,market_segment,country,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,market_segment,country,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,market_segment,country,booking_changes)

### Estimand : 107
Estimand name: backdoor107
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,is_repeated_gues
d[different_room_assigned]                                                    

t,lead_time,market_segment,previous_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,market_segment,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,market_segment,previous_bookings_not_canceled,booking_changes)

### Estimand : 108
Estimand name: backdoor108
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,is_repeated_gues
d[different_room_assigned]                                                    

t,lead_time,country,previous_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,country,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,country,previous_bookings_not_canceled,booking_changes)

### Estimand : 109
Estimand name: backdoor109
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,lead_time,days_i
d[different_room_assigned]                                                    

n_waiting_list,meal,guests,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,lead_time,days_in_waiting_list,meal,guests,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,lead_time,days_in_waiting_list,meal,guests,booking_changes)

### Estimand : 110
Estimand name: backdoor110
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,lead_time,days_i
d[different_room_assigned]                                                    

n_waiting_list,meal,market_segment,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,lead_time,days_in_waiting_list,meal,market_segment,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,lead_time,days_in_waiting_list,meal,market_segment,booking_changes)

### Estimand : 111
Estimand name: backdoor111
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,lead_time,days_i
d[different_room_assigned]                                                    

n_waiting_list,meal,country,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,lead_time,days_in_waiting_list,meal,country,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,lead_time,days_in_waiting_list,meal,country,booking_changes)

### Estimand : 112
Estimand name: backdoor112
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,lead_time,days_i
d[different_room_assigned]                                                    

n_waiting_list,meal,previous_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,lead_time,days_in_waiting_list,meal,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,lead_time,days_in_waiting_list,meal,previous_bookings_not_canceled,booking_changes)

### Estimand : 113
Estimand name: backdoor113
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,lead_time,days_i
d[different_room_assigned]                                                    

n_waiting_list,guests,market_segment,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,lead_time,days_in_waiting_list,guests,market_segment,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,lead_time,days_in_waiting_list,guests,market_segment,booking_changes)

### Estimand : 114
Estimand name: backdoor114
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,lead_time,days_i
d[different_room_assigned]                                                    

n_waiting_list,guests,country,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,lead_time,days_in_waiting_list,guests,country,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,lead_time,days_in_waiting_list,guests,country,booking_changes)

### Estimand : 115
Estimand name: backdoor115
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,lead_time,days_i
d[different_room_assigned]                                                    

n_waiting_list,guests,previous_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,lead_time,days_in_waiting_list,guests,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,lead_time,days_in_waiting_list,guests,previous_bookings_not_canceled,booking_changes)

### Estimand : 116
Estimand name: backdoor116
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,lead_time,days_i
d[different_room_assigned]                                                    

n_waiting_list,market_segment,country,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,lead_time,days_in_waiting_list,market_segment,country,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,lead_time,days_in_waiting_list,market_segment,country,booking_changes)

### Estimand : 117
Estimand name: backdoor117
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,lead_time,days_i
d[different_room_assigned]                                                    

n_waiting_list,market_segment,previous_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,lead_time,days_in_waiting_list,market_segment,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,lead_time,days_in_waiting_list,market_segment,previous_bookings_not_canceled,booking_changes)

### Estimand : 118
Estimand name: backdoor118
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,lead_time,days_i
d[different_room_assigned]                                                    

n_waiting_list,country,previous_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,lead_time,days_in_waiting_list,country,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,lead_time,days_in_waiting_list,country,previous_bookings_not_canceled,booking_changes)

### Estimand : 119
Estimand name: backdoor119
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,lead_time,meal,g
d[different_room_assigned]                                                    

uests,market_segment,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,lead_time,meal,guests,market_segment,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,lead_time,meal,guests,market_segment,booking_changes)

### Estimand : 120
Estimand name: backdoor120
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,lead_time,meal,g
d[different_room_assigned]                                                    

uests,country,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,lead_time,meal,guests,country,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,lead_time,meal,guests,country,booking_changes)

### Estimand : 121
Estimand name: backdoor121
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,lead_time,meal,g
d[different_room_assigned]                                                    

uests,previous_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,lead_time,meal,guests,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,lead_time,meal,guests,previous_bookings_not_canceled,booking_changes)

### Estimand : 122
Estimand name: backdoor122
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,lead_time,meal,m
d[different_room_assigned]                                                    

arket_segment,country,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,lead_time,meal,market_segment,country,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,lead_time,meal,market_segment,country,booking_changes)

### Estimand : 123
Estimand name: backdoor123
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,lead_time,meal,m
d[different_room_assigned]                                                    

arket_segment,previous_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,lead_time,meal,market_segment,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,lead_time,meal,market_segment,previous_bookings_not_canceled,booking_changes)

### Estimand : 124
Estimand name: backdoor124
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,lead_time,meal,c
d[different_room_assigned]                                                    

ountry,previous_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,lead_time,meal,country,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,lead_time,meal,country,previous_bookings_not_canceled,booking_changes)

### Estimand : 125
Estimand name: backdoor125
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,lead_time,guests
d[different_room_assigned]                                                    

,market_segment,country,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,lead_time,guests,market_segment,country,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,lead_time,guests,market_segment,country,booking_changes)

### Estimand : 126
Estimand name: backdoor126
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,lead_time,guests
d[different_room_assigned]                                                    

,market_segment,previous_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,lead_time,guests,market_segment,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,lead_time,guests,market_segment,previous_bookings_not_canceled,booking_changes)

### Estimand : 127
Estimand name: backdoor127
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,lead_time,guests
d[different_room_assigned]                                                    

,country,previous_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,lead_time,guests,country,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,lead_time,guests,country,previous_bookings_not_canceled,booking_changes)

### Estimand : 128
Estimand name: backdoor128
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,lead_time,market
d[different_room_assigned]                                                    

_segment,country,previous_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,lead_time,market_segment,country,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,lead_time,market_segment,country,previous_bookings_not_canceled,booking_changes)

### Estimand : 129
Estimand name: backdoor129
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|is_repeated_guest,lead_time
d[different_room_assigned]                                                    

,days_in_waiting_list,meal,guests,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,days_in_waiting_list,meal,guests,booking_changes,U) = P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,days_in_waiting_list,meal,guests,booking_changes)

### Estimand : 130
Estimand name: backdoor130
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|is_repeated_guest,lead_time
d[different_room_assigned]                                                    

,days_in_waiting_list,meal,market_segment,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,days_in_waiting_list,meal,market_segment,booking_changes,U) = P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,days_in_waiting_list,meal,market_segment,booking_changes)

### Estimand : 131
Estimand name: backdoor131
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|is_repeated_guest,lead_time
d[different_room_assigned]                                                    

,days_in_waiting_list,meal,country,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,days_in_waiting_list,meal,country,booking_changes,U) = P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,days_in_waiting_list,meal,country,booking_changes)

### Estimand : 132
Estimand name: backdoor132
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|is_repeated_guest,lead_time
d[different_room_assigned]                                                    

,days_in_waiting_list,meal,previous_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,days_in_waiting_list,meal,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,days_in_waiting_list,meal,previous_bookings_not_canceled,booking_changes)

### Estimand : 133
Estimand name: backdoor133
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|is_repeated_guest,lead_time
d[different_room_assigned]                                                    

,days_in_waiting_list,guests,market_segment,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,days_in_waiting_list,guests,market_segment,booking_changes,U) = P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,days_in_waiting_list,guests,market_segment,booking_changes)

### Estimand : 134
Estimand name: backdoor134
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|is_repeated_guest,lead_time
d[different_room_assigned]                                                    

,days_in_waiting_list,guests,country,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,days_in_waiting_list,guests,country,booking_changes,U) = P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,days_in_waiting_list,guests,country,booking_changes)

### Estimand : 135
Estimand name: backdoor135
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|is_repeated_guest,lead_time
d[different_room_assigned]                                                    

,days_in_waiting_list,guests,previous_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,days_in_waiting_list,guests,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,days_in_waiting_list,guests,previous_bookings_not_canceled,booking_changes)

### Estimand : 136
Estimand name: backdoor136
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|is_repeated_guest,lead_time
d[different_room_assigned]                                                    

,days_in_waiting_list,market_segment,country,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,days_in_waiting_list,market_segment,country,booking_changes,U) = P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,days_in_waiting_list,market_segment,country,booking_changes)

### Estimand : 137
Estimand name: backdoor137
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|is_repeated_guest,lead_time
d[different_room_assigned]                                                    

,days_in_waiting_list,market_segment,previous_bookings_not_canceled,booking_ch

anges))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,days_in_waiting_list,market_segment,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,days_in_waiting_list,market_segment,previous_bookings_not_canceled,booking_changes)

### Estimand : 138
Estimand name: backdoor138
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|is_repeated_guest,lead_time
d[different_room_assigned]                                                    

,days_in_waiting_list,country,previous_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,days_in_waiting_list,country,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,days_in_waiting_list,country,previous_bookings_not_canceled,booking_changes)

### Estimand : 139
Estimand name: backdoor139
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|is_repeated_guest,lead_time
d[different_room_assigned]                                                    

,meal,guests,market_segment,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,meal,guests,market_segment,booking_changes,U) = P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,meal,guests,market_segment,booking_changes)

### Estimand : 140
Estimand name: backdoor140
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|is_repeated_guest,lead_time
d[different_room_assigned]                                                    

,meal,guests,country,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,meal,guests,country,booking_changes,U) = P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,meal,guests,country,booking_changes)

### Estimand : 141
Estimand name: backdoor141
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|is_repeated_guest,lead_time
d[different_room_assigned]                                                    

,meal,guests,previous_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,meal,guests,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,meal,guests,previous_bookings_not_canceled,booking_changes)

### Estimand : 142
Estimand name: backdoor142
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|is_repeated_guest,lead_time
d[different_room_assigned]                                                    

,meal,market_segment,country,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,meal,market_segment,country,booking_changes,U) = P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,meal,market_segment,country,booking_changes)

### Estimand : 143
Estimand name: backdoor143
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|is_repeated_guest,lead_time
d[different_room_assigned]                                                    

,meal,market_segment,previous_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,meal,market_segment,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,meal,market_segment,previous_bookings_not_canceled,booking_changes)

### Estimand : 144
Estimand name: backdoor144
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|is_repeated_guest,lead_time
d[different_room_assigned]                                                    

,meal,country,previous_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,meal,country,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,meal,country,previous_bookings_not_canceled,booking_changes)

### Estimand : 145
Estimand name: backdoor145
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|is_repeated_guest,lead_time
d[different_room_assigned]                                                    

,guests,market_segment,country,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,guests,market_segment,country,booking_changes,U) = P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,guests,market_segment,country,booking_changes)

### Estimand : 146
Estimand name: backdoor146
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|is_repeated_guest,lead_time
d[different_room_assigned]                                                    

,guests,market_segment,previous_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,guests,market_segment,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,guests,market_segment,previous_bookings_not_canceled,booking_changes)

### Estimand : 147
Estimand name: backdoor147
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|is_repeated_guest,lead_time
d[different_room_assigned]                                                    

,guests,country,previous_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,guests,country,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,guests,country,previous_bookings_not_canceled,booking_changes)

### Estimand : 148
Estimand name: backdoor148
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|is_repeated_guest,lead_time
d[different_room_assigned]                                                    

,market_segment,country,previous_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,market_segment,country,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,market_segment,country,previous_bookings_not_canceled,booking_changes)

### Estimand : 149
Estimand name: backdoor149
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|lead_time,days_in_waiting_l
d[different_room_assigned]                                                    

ist,meal,guests,market_segment,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,lead_time,days_in_waiting_list,meal,guests,market_segment,booking_changes,U) = P(is_canceled|different_room_assigned,lead_time,days_in_waiting_list,meal,guests,market_segment,booking_changes)

### Estimand : 150
Estimand name: backdoor150
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|lead_time,days_in_waiting_l
d[different_room_assigned]                                                    

ist,meal,guests,country,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,lead_time,days_in_waiting_list,meal,guests,country,booking_changes,U) = P(is_canceled|different_room_assigned,lead_time,days_in_waiting_list,meal,guests,country,booking_changes)

### Estimand : 151
Estimand name: backdoor151
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|lead_time,days_in_waiting_l
d[different_room_assigned]                                                    

ist,meal,guests,previous_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,lead_time,days_in_waiting_list,meal,guests,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,lead_time,days_in_waiting_list,meal,guests,previous_bookings_not_canceled,booking_changes)

### Estimand : 152
Estimand name: backdoor152
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|lead_time,days_in_waiting_l
d[different_room_assigned]                                                    

ist,meal,market_segment,country,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,lead_time,days_in_waiting_list,meal,market_segment,country,booking_changes,U) = P(is_canceled|different_room_assigned,lead_time,days_in_waiting_list,meal,market_segment,country,booking_changes)

### Estimand : 153
Estimand name: backdoor153
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|lead_time,days_in_waiting_l
d[different_room_assigned]                                                    

ist,meal,market_segment,previous_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,lead_time,days_in_waiting_list,meal,market_segment,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,lead_time,days_in_waiting_list,meal,market_segment,previous_bookings_not_canceled,booking_changes)

### Estimand : 154
Estimand name: backdoor154
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|lead_time,days_in_waiting_l
d[different_room_assigned]                                                    

ist,meal,country,previous_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,lead_time,days_in_waiting_list,meal,country,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,lead_time,days_in_waiting_list,meal,country,previous_bookings_not_canceled,booking_changes)

### Estimand : 155
Estimand name: backdoor155
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|lead_time,days_in_waiting_l
d[different_room_assigned]                                                    

ist,guests,market_segment,country,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,lead_time,days_in_waiting_list,guests,market_segment,country,booking_changes,U) = P(is_canceled|different_room_assigned,lead_time,days_in_waiting_list,guests,market_segment,country,booking_changes)

### Estimand : 156
Estimand name: backdoor156
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|lead_time,days_in_waiting_l
d[different_room_assigned]                                                    

ist,guests,market_segment,previous_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,lead_time,days_in_waiting_list,guests,market_segment,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,lead_time,days_in_waiting_list,guests,market_segment,previous_bookings_not_canceled,booking_changes)

### Estimand : 157
Estimand name: backdoor157
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|lead_time,days_in_waiting_l
d[different_room_assigned]                                                    

ist,guests,country,previous_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,lead_time,days_in_waiting_list,guests,country,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,lead_time,days_in_waiting_list,guests,country,previous_bookings_not_canceled,booking_changes)

### Estimand : 158
Estimand name: backdoor158
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|lead_time,days_in_waiting_l
d[different_room_assigned]                                                    

ist,market_segment,country,previous_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,lead_time,days_in_waiting_list,market_segment,country,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,lead_time,days_in_waiting_list,market_segment,country,previous_bookings_not_canceled,booking_changes)

### Estimand : 159
Estimand name: backdoor159
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|lead_time,meal,guests,marke
d[different_room_assigned]                                                    

t_segment,country,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,lead_time,meal,guests,market_segment,country,booking_changes,U) = P(is_canceled|different_room_assigned,lead_time,meal,guests,market_segment,country,booking_changes)

### Estimand : 160
Estimand name: backdoor160
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|lead_time,meal,guests,marke
d[different_room_assigned]                                                    

t_segment,previous_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,lead_time,meal,guests,market_segment,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,lead_time,meal,guests,market_segment,previous_bookings_not_canceled,booking_changes)

### Estimand : 161
Estimand name: backdoor161
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|lead_time,meal,guests,count
d[different_room_assigned]                                                    

ry,previous_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,lead_time,meal,guests,country,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,lead_time,meal,guests,country,previous_bookings_not_canceled,booking_changes)

### Estimand : 162
Estimand name: backdoor162
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|lead_time,meal,market_segme
d[different_room_assigned]                                                    

nt,country,previous_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,lead_time,meal,market_segment,country,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,lead_time,meal,market_segment,country,previous_bookings_not_canceled,booking_changes)

### Estimand : 163
Estimand name: backdoor163
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|lead_time,guests,market_seg
d[different_room_assigned]                                                    

ment,country,previous_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,lead_time,guests,market_segment,country,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,lead_time,guests,market_segment,country,previous_bookings_not_canceled,booking_changes)

### Estimand : 164
Estimand name: backdoor164
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,is_repeated_gues
d[different_room_assigned]                                                    

t,lead_time,days_in_waiting_list,meal,guests,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,days_in_waiting_list,meal,guests,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,days_in_waiting_list,meal,guests,booking_changes)

### Estimand : 165
Estimand name: backdoor165
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,is_repeated_gues
d[different_room_assigned]                                                    

t,lead_time,days_in_waiting_list,meal,market_segment,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,days_in_waiting_list,meal,market_segment,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,days_in_waiting_list,meal,market_segment,booking_changes)

### Estimand : 166
Estimand name: backdoor166
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,is_repeated_gues
d[different_room_assigned]                                                    

t,lead_time,days_in_waiting_list,meal,country,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,days_in_waiting_list,meal,country,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,days_in_waiting_list,meal,country,booking_changes)

### Estimand : 167
Estimand name: backdoor167
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,is_repeated_gues
d[different_room_assigned]                                                    

t,lead_time,days_in_waiting_list,meal,previous_bookings_not_canceled,booking_c

hanges))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,days_in_waiting_list,meal,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,days_in_waiting_list,meal,previous_bookings_not_canceled,booking_changes)

### Estimand : 168
Estimand name: backdoor168
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,is_repeated_gues
d[different_room_assigned]                                                    

t,lead_time,days_in_waiting_list,guests,market_segment,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,days_in_waiting_list,guests,market_segment,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,days_in_waiting_list,guests,market_segment,booking_changes)

### Estimand : 169
Estimand name: backdoor169
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,is_repeated_gues
d[different_room_assigned]                                                    

t,lead_time,days_in_waiting_list,guests,country,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,days_in_waiting_list,guests,country,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,days_in_waiting_list,guests,country,booking_changes)

### Estimand : 170
Estimand name: backdoor170
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,is_repeated_gues
d[different_room_assigned]                                                    

t,lead_time,days_in_waiting_list,guests,previous_bookings_not_canceled,booking

_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,days_in_waiting_list,guests,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,days_in_waiting_list,guests,previous_bookings_not_canceled,booking_changes)

### Estimand : 171
Estimand name: backdoor171
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,is_repeated_gues
d[different_room_assigned]                                                    

t,lead_time,days_in_waiting_list,market_segment,country,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,days_in_waiting_list,market_segment,country,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,days_in_waiting_list,market_segment,country,booking_changes)

### Estimand : 172
Estimand name: backdoor172
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,is_repeated_gues
d[different_room_assigned]                                                    

t,lead_time,days_in_waiting_list,market_segment,previous_bookings_not_canceled

,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,days_in_waiting_list,market_segment,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,days_in_waiting_list,market_segment,previous_bookings_not_canceled,booking_changes)

### Estimand : 173
Estimand name: backdoor173
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,is_repeated_gues
d[different_room_assigned]                                                    

t,lead_time,days_in_waiting_list,country,previous_bookings_not_canceled,bookin

g_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,days_in_waiting_list,country,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,days_in_waiting_list,country,previous_bookings_not_canceled,booking_changes)

### Estimand : 174
Estimand name: backdoor174
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,is_repeated_gues
d[different_room_assigned]                                                    

t,lead_time,meal,guests,market_segment,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,meal,guests,market_segment,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,meal,guests,market_segment,booking_changes)

### Estimand : 175
Estimand name: backdoor175
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,is_repeated_gues
d[different_room_assigned]                                                    

t,lead_time,meal,guests,country,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,meal,guests,country,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,meal,guests,country,booking_changes)

### Estimand : 176
Estimand name: backdoor176
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,is_repeated_gues
d[different_room_assigned]                                                    

t,lead_time,meal,guests,previous_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,meal,guests,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,meal,guests,previous_bookings_not_canceled,booking_changes)

### Estimand : 177
Estimand name: backdoor177
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,is_repeated_gues
d[different_room_assigned]                                                    

t,lead_time,meal,market_segment,country,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,meal,market_segment,country,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,meal,market_segment,country,booking_changes)

### Estimand : 178
Estimand name: backdoor178
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,is_repeated_gues
d[different_room_assigned]                                                    

t,lead_time,meal,market_segment,previous_bookings_not_canceled,booking_changes

))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,meal,market_segment,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,meal,market_segment,previous_bookings_not_canceled,booking_changes)

### Estimand : 179
Estimand name: backdoor179
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,is_repeated_gues
d[different_room_assigned]                                                    

t,lead_time,meal,country,previous_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,meal,country,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,meal,country,previous_bookings_not_canceled,booking_changes)

### Estimand : 180
Estimand name: backdoor180
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,is_repeated_gues
d[different_room_assigned]                                                    

t,lead_time,guests,market_segment,country,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,guests,market_segment,country,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,guests,market_segment,country,booking_changes)

### Estimand : 181
Estimand name: backdoor181
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,is_repeated_gues
d[different_room_assigned]                                                    

t,lead_time,guests,market_segment,previous_bookings_not_canceled,booking_chang

es))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,guests,market_segment,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,guests,market_segment,previous_bookings_not_canceled,booking_changes)

### Estimand : 182
Estimand name: backdoor182
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,is_repeated_gues
d[different_room_assigned]                                                    

t,lead_time,guests,country,previous_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,guests,country,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,guests,country,previous_bookings_not_canceled,booking_changes)

### Estimand : 183
Estimand name: backdoor183
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,is_repeated_gues
d[different_room_assigned]                                                    

t,lead_time,market_segment,country,previous_bookings_not_canceled,booking_chan

ges))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,market_segment,country,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,market_segment,country,previous_bookings_not_canceled,booking_changes)

### Estimand : 184
Estimand name: backdoor184
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,lead_time,days_i
d[different_room_assigned]                                                    

n_waiting_list,meal,guests,market_segment,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,lead_time,days_in_waiting_list,meal,guests,market_segment,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,lead_time,days_in_waiting_list,meal,guests,market_segment,booking_changes)

### Estimand : 185
Estimand name: backdoor185
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,lead_time,days_i
d[different_room_assigned]                                                    

n_waiting_list,meal,guests,country,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,lead_time,days_in_waiting_list,meal,guests,country,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,lead_time,days_in_waiting_list,meal,guests,country,booking_changes)

### Estimand : 186
Estimand name: backdoor186
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,lead_time,days_i
d[different_room_assigned]                                                    

n_waiting_list,meal,guests,previous_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,lead_time,days_in_waiting_list,meal,guests,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,lead_time,days_in_waiting_list,meal,guests,previous_bookings_not_canceled,booking_changes)

### Estimand : 187
Estimand name: backdoor187
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,lead_time,days_i
d[different_room_assigned]                                                    

n_waiting_list,meal,market_segment,country,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,lead_time,days_in_waiting_list,meal,market_segment,country,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,lead_time,days_in_waiting_list,meal,market_segment,country,booking_changes)

### Estimand : 188
Estimand name: backdoor188
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,lead_time,days_i
d[different_room_assigned]                                                    

n_waiting_list,meal,market_segment,previous_bookings_not_canceled,booking_chan

ges))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,lead_time,days_in_waiting_list,meal,market_segment,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,lead_time,days_in_waiting_list,meal,market_segment,previous_bookings_not_canceled,booking_changes)

### Estimand : 189
Estimand name: backdoor189
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,lead_time,days_i
d[different_room_assigned]                                                    

n_waiting_list,meal,country,previous_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,lead_time,days_in_waiting_list,meal,country,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,lead_time,days_in_waiting_list,meal,country,previous_bookings_not_canceled,booking_changes)

### Estimand : 190
Estimand name: backdoor190
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,lead_time,days_i
d[different_room_assigned]                                                    

n_waiting_list,guests,market_segment,country,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,lead_time,days_in_waiting_list,guests,market_segment,country,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,lead_time,days_in_waiting_list,guests,market_segment,country,booking_changes)

### Estimand : 191
Estimand name: backdoor191
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,lead_time,days_i
d[different_room_assigned]                                                    

n_waiting_list,guests,market_segment,previous_bookings_not_canceled,booking_ch

anges))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,lead_time,days_in_waiting_list,guests,market_segment,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,lead_time,days_in_waiting_list,guests,market_segment,previous_bookings_not_canceled,booking_changes)

### Estimand : 192
Estimand name: backdoor192
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,lead_time,days_i
d[different_room_assigned]                                                    

n_waiting_list,guests,country,previous_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,lead_time,days_in_waiting_list,guests,country,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,lead_time,days_in_waiting_list,guests,country,previous_bookings_not_canceled,booking_changes)

### Estimand : 193
Estimand name: backdoor193
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,lead_time,days_i
d[different_room_assigned]                                                    

n_waiting_list,market_segment,country,previous_bookings_not_canceled,booking_c

hanges))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,lead_time,days_in_waiting_list,market_segment,country,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,lead_time,days_in_waiting_list,market_segment,country,previous_bookings_not_canceled,booking_changes)

### Estimand : 194
Estimand name: backdoor194
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,lead_time,meal,g
d[different_room_assigned]                                                    

uests,market_segment,country,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,lead_time,meal,guests,market_segment,country,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,lead_time,meal,guests,market_segment,country,booking_changes)

### Estimand : 195
Estimand name: backdoor195
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,lead_time,meal,g
d[different_room_assigned]                                                    

uests,market_segment,previous_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,lead_time,meal,guests,market_segment,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,lead_time,meal,guests,market_segment,previous_bookings_not_canceled,booking_changes)

### Estimand : 196
Estimand name: backdoor196
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,lead_time,meal,g
d[different_room_assigned]                                                    

uests,country,previous_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,lead_time,meal,guests,country,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,lead_time,meal,guests,country,previous_bookings_not_canceled,booking_changes)

### Estimand : 197
Estimand name: backdoor197
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,lead_time,meal,m
d[different_room_assigned]                                                    

arket_segment,country,previous_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,lead_time,meal,market_segment,country,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,lead_time,meal,market_segment,country,previous_bookings_not_canceled,booking_changes)

### Estimand : 198
Estimand name: backdoor198
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,lead_time,guests
d[different_room_assigned]                                                    

,market_segment,country,previous_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,lead_time,guests,market_segment,country,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,lead_time,guests,market_segment,country,previous_bookings_not_canceled,booking_changes)

### Estimand : 199
Estimand name: backdoor199
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|is_repeated_guest,lead_time
d[different_room_assigned]                                                    

,days_in_waiting_list,meal,guests,market_segment,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,days_in_waiting_list,meal,guests,market_segment,booking_changes,U) = P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,days_in_waiting_list,meal,guests,market_segment,booking_changes)

### Estimand : 200
Estimand name: backdoor200
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|is_repeated_guest,lead_time
d[different_room_assigned]                                                    

,days_in_waiting_list,meal,guests,country,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,days_in_waiting_list,meal,guests,country,booking_changes,U) = P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,days_in_waiting_list,meal,guests,country,booking_changes)

### Estimand : 201
Estimand name: backdoor201
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|is_repeated_guest,lead_time
d[different_room_assigned]                                                    

,days_in_waiting_list,meal,guests,previous_bookings_not_canceled,booking_chang

es))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,days_in_waiting_list,meal,guests,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,days_in_waiting_list,meal,guests,previous_bookings_not_canceled,booking_changes)

### Estimand : 202
Estimand name: backdoor202
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|is_repeated_guest,lead_time
d[different_room_assigned]                                                    

,days_in_waiting_list,meal,market_segment,country,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,days_in_waiting_list,meal,market_segment,country,booking_changes,U) = P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,days_in_waiting_list,meal,market_segment,country,booking_changes)

### Estimand : 203
Estimand name: backdoor203
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|is_repeated_guest,lead_time
d[different_room_assigned]                                                    

,days_in_waiting_list,meal,market_segment,previous_bookings_not_canceled,booki

ng_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,days_in_waiting_list,meal,market_segment,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,days_in_waiting_list,meal,market_segment,previous_bookings_not_canceled,booking_changes)

### Estimand : 204
Estimand name: backdoor204
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|is_repeated_guest,lead_time
d[different_room_assigned]                                                    

,days_in_waiting_list,meal,country,previous_bookings_not_canceled,booking_chan

ges))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,days_in_waiting_list,meal,country,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,days_in_waiting_list,meal,country,previous_bookings_not_canceled,booking_changes)

### Estimand : 205
Estimand name: backdoor205
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|is_repeated_guest,lead_time
d[different_room_assigned]                                                    

,days_in_waiting_list,guests,market_segment,country,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,days_in_waiting_list,guests,market_segment,country,booking_changes,U) = P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,days_in_waiting_list,guests,market_segment,country,booking_changes)

### Estimand : 206
Estimand name: backdoor206
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|is_repeated_guest,lead_time
d[different_room_assigned]                                                    

,days_in_waiting_list,guests,market_segment,previous_bookings_not_canceled,boo

king_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,days_in_waiting_list,guests,market_segment,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,days_in_waiting_list,guests,market_segment,previous_bookings_not_canceled,booking_changes)

### Estimand : 207
Estimand name: backdoor207
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|is_repeated_guest,lead_time
d[different_room_assigned]                                                    

,days_in_waiting_list,guests,country,previous_bookings_not_canceled,booking_ch

anges))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,days_in_waiting_list,guests,country,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,days_in_waiting_list,guests,country,previous_bookings_not_canceled,booking_changes)

### Estimand : 208
Estimand name: backdoor208
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|is_repeated_guest,lead_time
d[different_room_assigned]                                                    

,days_in_waiting_list,market_segment,country,previous_bookings_not_canceled,bo

oking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,days_in_waiting_list,market_segment,country,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,days_in_waiting_list,market_segment,country,previous_bookings_not_canceled,booking_changes)

### Estimand : 209
Estimand name: backdoor209
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|is_repeated_guest,lead_time
d[different_room_assigned]                                                    

,meal,guests,market_segment,country,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,meal,guests,market_segment,country,booking_changes,U) = P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,meal,guests,market_segment,country,booking_changes)

### Estimand : 210
Estimand name: backdoor210
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|is_repeated_guest,lead_time
d[different_room_assigned]                                                    

,meal,guests,market_segment,previous_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,meal,guests,market_segment,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,meal,guests,market_segment,previous_bookings_not_canceled,booking_changes)

### Estimand : 211
Estimand name: backdoor211
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|is_repeated_guest,lead_time
d[different_room_assigned]                                                    

,meal,guests,country,previous_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,meal,guests,country,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,meal,guests,country,previous_bookings_not_canceled,booking_changes)

### Estimand : 212
Estimand name: backdoor212
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|is_repeated_guest,lead_time
d[different_room_assigned]                                                    

,meal,market_segment,country,previous_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,meal,market_segment,country,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,meal,market_segment,country,previous_bookings_not_canceled,booking_changes)

### Estimand : 213
Estimand name: backdoor213
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|is_repeated_guest,lead_time
d[different_room_assigned]                                                    

,guests,market_segment,country,previous_bookings_not_canceled,booking_changes)

)

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,guests,market_segment,country,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,guests,market_segment,country,previous_bookings_not_canceled,booking_changes)

### Estimand : 214
Estimand name: backdoor214
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|lead_time,days_in_waiting_l
d[different_room_assigned]                                                    

ist,meal,guests,market_segment,country,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,lead_time,days_in_waiting_list,meal,guests,market_segment,country,booking_changes,U) = P(is_canceled|different_room_assigned,lead_time,days_in_waiting_list,meal,guests,market_segment,country,booking_changes)

### Estimand : 215
Estimand name: backdoor215
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|lead_time,days_in_waiting_l
d[different_room_assigned]                                                    

ist,meal,guests,market_segment,previous_bookings_not_canceled,booking_changes)

)

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,lead_time,days_in_waiting_list,meal,guests,market_segment,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,lead_time,days_in_waiting_list,meal,guests,market_segment,previous_bookings_not_canceled,booking_changes)

### Estimand : 216
Estimand name: backdoor216
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|lead_time,days_in_waiting_l
d[different_room_assigned]                                                    

ist,meal,guests,country,previous_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,lead_time,days_in_waiting_list,meal,guests,country,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,lead_time,days_in_waiting_list,meal,guests,country,previous_bookings_not_canceled,booking_changes)

### Estimand : 217
Estimand name: backdoor217
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|lead_time,days_in_waiting_l
d[different_room_assigned]                                                    

ist,meal,market_segment,country,previous_bookings_not_canceled,booking_changes

))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,lead_time,days_in_waiting_list,meal,market_segment,country,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,lead_time,days_in_waiting_list,meal,market_segment,country,previous_bookings_not_canceled,booking_changes)

### Estimand : 218
Estimand name: backdoor218
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|lead_time,days_in_waiting_l
d[different_room_assigned]                                                    

ist,guests,market_segment,country,previous_bookings_not_canceled,booking_chang

es))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,lead_time,days_in_waiting_list,guests,market_segment,country,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,lead_time,days_in_waiting_list,guests,market_segment,country,previous_bookings_not_canceled,booking_changes)

### Estimand : 219
Estimand name: backdoor219
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|lead_time,meal,guests,marke
d[different_room_assigned]                                                    

t_segment,country,previous_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,lead_time,meal,guests,market_segment,country,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,lead_time,meal,guests,market_segment,country,previous_bookings_not_canceled,booking_changes)

### Estimand : 220
Estimand name: backdoor220
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,is_repeated_gues
d[different_room_assigned]                                                    

t,lead_time,days_in_waiting_list,meal,guests,market_segment,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,days_in_waiting_list,meal,guests,market_segment,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,days_in_waiting_list,meal,guests,market_segment,booking_changes)

### Estimand : 221
Estimand name: backdoor221
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,is_repeated_gues
d[different_room_assigned]                                                    

t,lead_time,days_in_waiting_list,meal,guests,country,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,days_in_waiting_list,meal,guests,country,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,days_in_waiting_list,meal,guests,country,booking_changes)

### Estimand : 222
Estimand name: backdoor222
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,is_repeated_gues
d[different_room_assigned]                                                    

t,lead_time,days_in_waiting_list,meal,guests,previous_bookings_not_canceled,bo

oking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,days_in_waiting_list,meal,guests,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,days_in_waiting_list,meal,guests,previous_bookings_not_canceled,booking_changes)

### Estimand : 223
Estimand name: backdoor223
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,is_repeated_gues
d[different_room_assigned]                                                    

t,lead_time,days_in_waiting_list,meal,market_segment,country,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,days_in_waiting_list,meal,market_segment,country,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,days_in_waiting_list,meal,market_segment,country,booking_changes)

### Estimand : 224
Estimand name: backdoor224
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,is_repeated_gues
d[different_room_assigned]                                                    

t,lead_time,days_in_waiting_list,meal,market_segment,previous_bookings_not_can

celed,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,days_in_waiting_list,meal,market_segment,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,days_in_waiting_list,meal,market_segment,previous_bookings_not_canceled,booking_changes)

### Estimand : 225
Estimand name: backdoor225
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,is_repeated_gues
d[different_room_assigned]                                                    

t,lead_time,days_in_waiting_list,meal,country,previous_bookings_not_canceled,b

ooking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,days_in_waiting_list,meal,country,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,days_in_waiting_list,meal,country,previous_bookings_not_canceled,booking_changes)

### Estimand : 226
Estimand name: backdoor226
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,is_repeated_gues
d[different_room_assigned]                                                    

t,lead_time,days_in_waiting_list,guests,market_segment,country,booking_changes

))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,days_in_waiting_list,guests,market_segment,country,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,days_in_waiting_list,guests,market_segment,country,booking_changes)

### Estimand : 227
Estimand name: backdoor227
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,is_repeated_gues
d[different_room_assigned]                                                    

t,lead_time,days_in_waiting_list,guests,market_segment,previous_bookings_not_c

anceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,days_in_waiting_list,guests,market_segment,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,days_in_waiting_list,guests,market_segment,previous_bookings_not_canceled,booking_changes)

### Estimand : 228
Estimand name: backdoor228
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,is_repeated_gues
d[different_room_assigned]                                                    

t,lead_time,days_in_waiting_list,guests,country,previous_bookings_not_canceled

,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,days_in_waiting_list,guests,country,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,days_in_waiting_list,guests,country,previous_bookings_not_canceled,booking_changes)

### Estimand : 229
Estimand name: backdoor229
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,is_repeated_gues
d[different_room_assigned]                                                    

t,lead_time,days_in_waiting_list,market_segment,country,previous_bookings_not_

canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,days_in_waiting_list,market_segment,country,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,days_in_waiting_list,market_segment,country,previous_bookings_not_canceled,booking_changes)

### Estimand : 230
Estimand name: backdoor230
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,is_repeated_gues
d[different_room_assigned]                                                    

t,lead_time,meal,guests,market_segment,country,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,meal,guests,market_segment,country,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,meal,guests,market_segment,country,booking_changes)

### Estimand : 231
Estimand name: backdoor231
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,is_repeated_gues
d[different_room_assigned]                                                    

t,lead_time,meal,guests,market_segment,previous_bookings_not_canceled,booking_

changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,meal,guests,market_segment,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,meal,guests,market_segment,previous_bookings_not_canceled,booking_changes)

### Estimand : 232
Estimand name: backdoor232
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,is_repeated_gues
d[different_room_assigned]                                                    

t,lead_time,meal,guests,country,previous_bookings_not_canceled,booking_changes

))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,meal,guests,country,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,meal,guests,country,previous_bookings_not_canceled,booking_changes)

### Estimand : 233
Estimand name: backdoor233
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,is_repeated_gues
d[different_room_assigned]                                                    

t,lead_time,meal,market_segment,country,previous_bookings_not_canceled,booking

_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,meal,market_segment,country,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,meal,market_segment,country,previous_bookings_not_canceled,booking_changes)

### Estimand : 234
Estimand name: backdoor234
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,is_repeated_gues
d[different_room_assigned]                                                    

t,lead_time,guests,market_segment,country,previous_bookings_not_canceled,booki

ng_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,guests,market_segment,country,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,guests,market_segment,country,previous_bookings_not_canceled,booking_changes)

### Estimand : 235
Estimand name: backdoor235
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,lead_time,days_i
d[different_room_assigned]                                                    

n_waiting_list,meal,guests,market_segment,country,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,lead_time,days_in_waiting_list,meal,guests,market_segment,country,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,lead_time,days_in_waiting_list,meal,guests,market_segment,country,booking_changes)

### Estimand : 236
Estimand name: backdoor236
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,lead_time,days_i
d[different_room_assigned]                                                    

n_waiting_list,meal,guests,market_segment,previous_bookings_not_canceled,booki

ng_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,lead_time,days_in_waiting_list,meal,guests,market_segment,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,lead_time,days_in_waiting_list,meal,guests,market_segment,previous_bookings_not_canceled,booking_changes)

### Estimand : 237
Estimand name: backdoor237
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,lead_time,days_i
d[different_room_assigned]                                                    

n_waiting_list,meal,guests,country,previous_bookings_not_canceled,booking_chan

ges))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,lead_time,days_in_waiting_list,meal,guests,country,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,lead_time,days_in_waiting_list,meal,guests,country,previous_bookings_not_canceled,booking_changes)

### Estimand : 238
Estimand name: backdoor238
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,lead_time,days_i
d[different_room_assigned]                                                    

n_waiting_list,meal,market_segment,country,previous_bookings_not_canceled,book

ing_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,lead_time,days_in_waiting_list,meal,market_segment,country,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,lead_time,days_in_waiting_list,meal,market_segment,country,previous_bookings_not_canceled,booking_changes)

### Estimand : 239
Estimand name: backdoor239
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,lead_time,days_i
d[different_room_assigned]                                                    

n_waiting_list,guests,market_segment,country,previous_bookings_not_canceled,bo

oking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,lead_time,days_in_waiting_list,guests,market_segment,country,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,lead_time,days_in_waiting_list,guests,market_segment,country,previous_bookings_not_canceled,booking_changes)

### Estimand : 240
Estimand name: backdoor240
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,lead_time,meal,g
d[different_room_assigned]                                                    

uests,market_segment,country,previous_bookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,lead_time,meal,guests,market_segment,country,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,lead_time,meal,guests,market_segment,country,previous_bookings_not_canceled,booking_changes)

### Estimand : 241
Estimand name: backdoor241
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|is_repeated_guest,lead_time
d[different_room_assigned]                                                    

,days_in_waiting_list,meal,guests,market_segment,country,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,days_in_waiting_list,meal,guests,market_segment,country,booking_changes,U) = P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,days_in_waiting_list,meal,guests,market_segment,country,booking_changes)

### Estimand : 242
Estimand name: backdoor242
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|is_repeated_guest,lead_time
d[different_room_assigned]                                                    

,days_in_waiting_list,meal,guests,market_segment,previous_bookings_not_cancele

d,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,days_in_waiting_list,meal,guests,market_segment,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,days_in_waiting_list,meal,guests,market_segment,previous_bookings_not_canceled,booking_changes)

### Estimand : 243
Estimand name: backdoor243
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|is_repeated_guest,lead_time
d[different_room_assigned]                                                    

,days_in_waiting_list,meal,guests,country,previous_bookings_not_canceled,booki

ng_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,days_in_waiting_list,meal,guests,country,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,days_in_waiting_list,meal,guests,country,previous_bookings_not_canceled,booking_changes)

### Estimand : 244
Estimand name: backdoor244
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|is_repeated_guest,lead_time
d[different_room_assigned]                                                    

,days_in_waiting_list,meal,market_segment,country,previous_bookings_not_cancel

ed,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,days_in_waiting_list,meal,market_segment,country,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,days_in_waiting_list,meal,market_segment,country,previous_bookings_not_canceled,booking_changes)

### Estimand : 245
Estimand name: backdoor245
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|is_repeated_guest,lead_time
d[different_room_assigned]                                                    

,days_in_waiting_list,guests,market_segment,country,previous_bookings_not_canc

eled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,days_in_waiting_list,guests,market_segment,country,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,days_in_waiting_list,guests,market_segment,country,previous_bookings_not_canceled,booking_changes)

### Estimand : 246
Estimand name: backdoor246
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|is_repeated_guest,lead_time
d[different_room_assigned]                                                    

,meal,guests,market_segment,country,previous_bookings_not_canceled,booking_cha

nges))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,meal,guests,market_segment,country,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,meal,guests,market_segment,country,previous_bookings_not_canceled,booking_changes)

### Estimand : 247
Estimand name: backdoor247
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|lead_time,days_in_waiting_l
d[different_room_assigned]                                                    

ist,meal,guests,market_segment,country,previous_bookings_not_canceled,booking_

changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,lead_time,days_in_waiting_list,meal,guests,market_segment,country,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,lead_time,days_in_waiting_list,meal,guests,market_segment,country,previous_bookings_not_canceled,booking_changes)

### Estimand : 248
Estimand name: backdoor248
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,is_repeated_gues
d[different_room_assigned]                                                    

t,lead_time,days_in_waiting_list,meal,guests,market_segment,country,booking_ch

anges))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,days_in_waiting_list,meal,guests,market_segment,country,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,days_in_waiting_list,meal,guests,market_segment,country,booking_changes)

### Estimand : 249
Estimand name: backdoor249
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,is_repeated_gues
d[different_room_assigned]                                                    

t,lead_time,days_in_waiting_list,meal,guests,market_segment,previous_bookings_

not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,days_in_waiting_list,meal,guests,market_segment,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,days_in_waiting_list,meal,guests,market_segment,previous_bookings_not_canceled,booking_changes)

### Estimand : 250
Estimand name: backdoor250
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,is_repeated_gues
d[different_room_assigned]                                                    

t,lead_time,days_in_waiting_list,meal,guests,country,previous_bookings_not_can

celed,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,days_in_waiting_list,meal,guests,country,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,days_in_waiting_list,meal,guests,country,previous_bookings_not_canceled,booking_changes)

### Estimand : 251
Estimand name: backdoor251
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,is_repeated_gues
d[different_room_assigned]                                                    

t,lead_time,days_in_waiting_list,meal,market_segment,country,previous_bookings

_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,days_in_waiting_list,meal,market_segment,country,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,days_in_waiting_list,meal,market_segment,country,previous_bookings_not_canceled,booking_changes)

### Estimand : 252
Estimand name: backdoor252
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,is_repeated_gues
d[different_room_assigned]                                                    

t,lead_time,days_in_waiting_list,guests,market_segment,country,previous_bookin

gs_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,days_in_waiting_list,guests,market_segment,country,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,days_in_waiting_list,guests,market_segment,country,previous_bookings_not_canceled,booking_changes)

### Estimand : 253
Estimand name: backdoor253
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,is_repeated_gues
d[different_room_assigned]                                                    

t,lead_time,meal,guests,market_segment,country,previous_bookings_not_canceled,

booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,meal,guests,market_segment,country,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,meal,guests,market_segment,country,previous_bookings_not_canceled,booking_changes)

### Estimand : 254
Estimand name: backdoor254
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,lead_time,days_i
d[different_room_assigned]                                                    

n_waiting_list,meal,guests,market_segment,country,previous_bookings_not_cancel

ed,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,lead_time,days_in_waiting_list,meal,guests,market_segment,country,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,lead_time,days_in_waiting_list,meal,guests,market_segment,country,previous_bookings_not_canceled,booking_changes)

### Estimand : 255
Estimand name: backdoor255
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|is_repeated_guest,lead_time
d[different_room_assigned]                                                    

,days_in_waiting_list,meal,guests,market_segment,country,previous_bookings_not

_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,days_in_waiting_list,meal,guests,market_segment,country,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,is_repeated_guest,lead_time,days_in_waiting_list,meal,guests,market_segment,country,previous_bookings_not_canceled,booking_changes)

### Estimand : 256
Estimand name: backdoor256 (Default)
Estimand expression:
            d                                                                 
──────────────────────────(Expectation(is_canceled|total_stay,is_repeated_gues
d[different_room_assigned]                                                    

t,lead_time,days_in_waiting_list,meal,guests,market_segment,country,previous_b

ookings_not_canceled,booking_changes))

Estimand assumption 1, Unconfoundedness: If U→{different_room_assigned} and U→is_canceled then P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,days_in_waiting_list,meal,guests,market_segment,country,previous_bookings_not_canceled,booking_changes,U) = P(is_canceled|different_room_assigned,total_stay,is_repeated_guest,lead_time,days_in_waiting_list,meal,guests,market_segment,country,previous_bookings_not_canceled,booking_changes)

### Estimand : 257
Estimand name: iv
No such variable found!

### Estimand : 258
Estimand name: frontdoor
No such variable found!

Here is the error:

INFO:dowhy.causal_estimator:INFO: Using Propensity Score Stratification Estimator
INFO:dowhy.causal_estimator:b: is_canceled~different_room_assigned+total_stay+is_repeated_guest+lead_time+days_in_waiting_list+meal+guests+market_segment+country+previous_bookings_not_canceled+booking_changes
/Users/wangzheyu/opt/anaconda3/lib/python3.7/site-packages/sklearn/linear_model/logistic.py:432: FutureWarning: Default solver will be changed to 'lbfgs' in 0.22. Specify a solver to silence this warning.
  FutureWarning)
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-20-f4d9f1a5a63e> in <module>
      1 estimate = model.estimate_effect(identified_estimand, 
----> 2                                  method_name="backdoor.propensity_score_stratification",target_units="ate")
      3 # ATE = Average Treatment Effect
      4 # ATT = Average Treatment Effect on Treated (i.e. those who were assigned a different room)
      5 # ATC = Average Treatment Effect on Control (i.e. those who were not assigned a different room)

~/opt/anaconda3/lib/python3.7/site-packages/dowhy/causal_model.py in estimate_effect(self, identified_estimand, method_name, control_value, treatment_value, test_significance, evaluate_effect_strength, confidence_intervals, target_units, effect_modifiers, method_params)
    232                 params=method_params
    233             )
--> 234             estimate = causal_estimator.estimate_effect()
    235             # Store parameters inside estimate object for refutation methods
    236             estimate.add_params(

~/opt/anaconda3/lib/python3.7/site-packages/dowhy/causal_estimator.py in estimate_effect(self)
    165         :returns: A CausalEstimate instance that contains point estimates of average and conditional effects. Based on the parameters provided, it optionally includes confidence intervals, standard errors,statistical significance and other statistical parameters.
    166         """
--> 167         est = self._estimate_effect()
    168         est.add_estimator(self)
    169 

~/opt/anaconda3/lib/python3.7/site-packages/dowhy/causal_estimators/propensity_score_stratification_estimator.py in _estimate_effect(self, recalculate_propensity_score)
     27         if self._propensity_score_model is None or recalculate_propensity_score is True:
     28             self._propensity_score_model = linear_model.LogisticRegression()
---> 29             self._propensity_score_model.fit(self._observed_common_causes, self._treatment)
     30             self._data['propensity_score'] = self._propensity_score_model.predict_proba(self._observed_common_causes)[:,1]
     31 

~/opt/anaconda3/lib/python3.7/site-packages/sklearn/linear_model/logistic.py in fit(self, X, y, sample_weight)
   1530 
   1531         X, y = check_X_y(X, y, accept_sparse='csr', dtype=_dtype, order="C",
-> 1532                          accept_large_sparse=solver != 'liblinear')
   1533         check_classification_targets(y)
   1534         self.classes_ = np.unique(y)

~/opt/anaconda3/lib/python3.7/site-packages/sklearn/utils/validation.py in check_X_y(X, y, accept_sparse, accept_large_sparse, dtype, order, copy, force_all_finite, ensure_2d, allow_nd, multi_output, ensure_min_samples, ensure_min_features, y_numeric, warn_on_dtype, estimator)
    717                     ensure_min_features=ensure_min_features,
    718                     warn_on_dtype=warn_on_dtype,
--> 719                     estimator=estimator)
    720     if multi_output:
    721         y = check_array(y, 'csr', force_all_finite=True, ensure_2d=False,

~/opt/anaconda3/lib/python3.7/site-packages/sklearn/utils/validation.py in check_array(array, accept_sparse, accept_large_sparse, dtype, order, copy, force_all_finite, ensure_2d, allow_nd, ensure_min_samples, ensure_min_features, warn_on_dtype, estimator)
    540         if force_all_finite:
    541             _assert_all_finite(array,
--> 542                                allow_nan=force_all_finite == 'allow-nan')
    543 
    544     if ensure_min_samples > 0:

~/opt/anaconda3/lib/python3.7/site-packages/sklearn/utils/validation.py in _assert_all_finite(X, allow_nan)
     54                 not allow_nan and not np.isfinite(X).all()):
     55             type_err = 'infinity' if allow_nan else 'NaN, infinity'
---> 56             raise ValueError(msg_err.format(type_err, X.dtype))
     57     # for object dtype data, we only check for NaNs (GH-13254)
     58     elif X.dtype == np.dtype('object') and not allow_nan:

ValueError: Input contains NaN, infinity or a value too large for dtype('float64').
jbdatascience commented 3 years ago

I am experiencing the exact same issue in this Notebook "The Causal Story Behind Hotel Booking Cancellations". And no clue what is going wrong here. In another Notebook such as https://github.com/microsoft/dowhy/blob/master/docs/source/example_notebooks/dowhy_example_effect_of_memberrewards_program.ipynb no such problem arises !

amit-sharma commented 3 years ago

@xxwywzy @jbdatascience thanks for raising this issue. It turns out that the dataframe still contained some NA values that led to this error. To fix this error, simply add dataset.dropna(inplace=True) before you load the dataset into DoWhy's CausalModel. I've also updated the notebook on Github: https://github.com/microsoft/dowhy/blob/master/docs/source/example_notebooks/DoWhy-The%20Causal%20Story%20Behind%20Hotel%20Booking%20Cancellations.ipynb

Why this error occurs in the new version of DoWhy?: We have updated how the backdoor variables are selected. In the previous version, DoWhy would only select a minimal set of variables that block all the backdoor paths. While this is correct from an identification point of view, it can be statistically efficient to additionally condition on other eligible variables (e.g., causes of the outcome, effect modifiers, etc.). That is the default behavior in the new version, and it meant that the code was conditioning on additional columns of the dataset (one of which had the NA value).

Additionally, identify_effect() now outputs all possible backdoor adjustment variable sets that are valid. That is why you are seeing >200 sets. That is expected behavior, just that this graph has a number of effect modifiers which led to the explosion in the number of valid backdoor sets outputted.

xxwywzy commented 3 years ago

Got it ! Thank you very much for the explanation!I think I have to learn more about the backdoor criteria :)

jbdatascience commented 3 years ago

Thanks for the solution and the explanation of it! I am going to try it out today !

xxwywzy commented 3 years ago

I have a new question about this notebook. The estimation result is a negative number (nearly -0.33). The notebook says that it means if the probability of cancellation was 0<𝑥<1, then changing the room causes the probability to go to 𝑥+0.33. So the effect of our treatment is 33 percentage points. However, acccording to the definition of estimate_effect, it represents the amount of change in the outcome value when you intervene and change the treatment. I.e., if we increase the value of the treatment by 1.0, then the outcome will change by the value of 'estimate'.

Therefore, in this example the treatment is 'different_room_assigned', if we change this treatment from 0 (False) to 1 (True), shouldn' t we get a postive estimate value showing that the cancel rate arises by 0.33? I am quite confused about the result and could you briefly explain to me the meaning of the estimation result? Thank you so much !

amit-sharma commented 3 years ago

That's a great question @xxwywzy Yeah, this result is confusing. I'm paging @Sid-darthvader here, who contributed this notebook. @Sid-darthvader Can you help us interpret the estimate based on your knowledge of the hotel dataset? It seems that different_room_assigned actually decreases the fraction of cancellations. Perhaps it is because that most customers who do get assigned a different room actually need to show up to the hotel, and they are less likely to cancel their booking then? If so, then this is a case of selection bias and the graph needs to be updated.

dearfad commented 3 years ago

Any reply from sid ? I have the same question as xxwywzy. I followed the page from https://microsoft.github.io/dowhy/readme.html to Hotel booking cancellations https://towardsdatascience.com/beyond-predictive-models-the-causal-story-behind-hotel-booking-cancellations-d29e8558cbaf , it said This tells us that on an average the Probability of a hotel booking being cancelled decreases by ~36% when the Person is assigned the same room compared to the case when he is assigned a different room than what he had chosen during booking. The explanation is realy different from the hotel page in case study books. I tried to analysis between breast cancer metastases and death, got mean value -0.40, then how to explain it...

amit-sharma commented 3 years ago

@dearfad Did not hear back from @Sid-darthvader My sense is that the the text on towardsdatascience blog is incorrect and needs to be updated. I updated the hotel notebook in dowhy case study, so I would say you can trust the notebook more.

For your other example, a reasonable prior is that breast cancer metastases increases probability of death. If you are obtaining a negative value for its treatment effect, then that means that you have left out a confounding variable. Here is a good read on this topic where they found that the asthma patients had a lower chance of death due to pneumonia (again, negative treatment effect on death), but then they figured that asthma patients were given better care and that was the confounding factor (paper, see section 1, motivation).