import streamlit as st import pandas as pd import joblib # Load the model model = joblib.load('xgb_model_pipeline.pkl') st.title("ExtraaLearn Lead Conversion Predictor") # Input form with st.form("lead_form"): age = st.number_input("Age", min_value=18, max_value=70, step=1) current_occupation = st.selectbox("Current Occupation", ['Professional', 'Unemployed', 'Student']) first_interaction = st.selectbox("First Interaction", ['Website', 'Mobile App']) profile_completed = st.selectbox("Profile Completed", ['Low', 'Medium', 'High']) website_visits = st.number_input("Website Visits", min_value=0) time_spent_on_website = st.number_input("Time Spent on Website (seconds)", min_value=0) page_views_per_visit = st.number_input("Page Views Per Visit", min_value=0.0) last_activity = st.selectbox("Last Activity", ['Email Activity', 'Phone Activity', 'Website Activity']) print_media_type1 = st.selectbox("Saw Newspaper Ad?", ['Yes', 'No']) print_media_type2 = st.selectbox("Saw Magazine Ad?", ['Yes', 'No']) digital_media = st.selectbox("Saw Digital Ad?", ['Yes', 'No']) educational_channels = st.selectbox("Heard on Educational Channels?", ['Yes', 'No']) referral = st.selectbox("Heard via Referral?", ['Yes', 'No']) submit = st.form_submit_button("Predict") if submit: input_df = pd.DataFrame([{ 'age': age, 'current_occupation': current_occupation, 'first_interaction': first_interaction, 'profile_completed': profile_completed, 'website_visits': website_visits, 'time_spent_on_website': time_spent_on_website, 'page_views_per_visit': page_views_per_visit, 'last_activity': last_activity, 'print_media_type1': print_media_type1, 'print_media_type2': print_media_type2, 'digital_media': digital_media, 'educational_channels': educational_channels, 'referral': referral }]) prediction = model.predict(input_df)[0] result = "Likely to Convert" if prediction == 1 else "Not Likely to Convert" st.success(f"Prediction: {result}")