La solicitud

De Jordan Reyes, Directora de Marketing
Tu objetivo
Usando solo las sesiones de 2025 (started_at desde 2025-01-01 hasta antes de 2026-01-01), asigna a result un DataFrame con tres filas, en este orden, y las columnas stage, sessions, pct_of_previous y pct_of_all (ambas redondeadas a 2). Etapas: "all" (todas las sesiones), "engaged" (pages_viewed >= 3) y "converted" (converted es True). pct_of_previous es 100 en la primera fila; pct_of_all es sessions * 100 / todas las sesiones.
- Usa el DataFrame
web_sessionspendiente - Muestra exactamente
stagesessionspct_of_previouspct_of_allpendiente - 3 filas, ordenadas como se pidependiente
Each bar is a subset of the bar above it. Most visitors leave before the third page.
Ver los números
| sessions | |
|---|---|
| All sessions | 16,225 |
| 3+ pages | 7,213 |
| Converted | 500 |
Tu código
Cargando el editor…
Solución de referencia
| session_id | customer_id | started_at | device | source |
|---|---|---|---|---|
| 1 | NaN | 2023-01-01 23:02:24 | mobile | paid |
| 2 | 18 | 2023-01-01 15:07:49 | desktop | paid |
| 3 | NaN | 2023-01-01 16:55:46 | desktop | direct |
| 4 | NaN | 2023-01-01 12:43:28 | mobile | organic |
Mote revisa tu resultado
Presiona Ejecutar. Cada fila que cumple el objetivo se vuelve una luciérnaga en tu linterna.
Lo que recibe Jordan, y por qué
DataFrames
Cargados como DataFrames de pandas, junto con pd y np.
web_sessions40,000 filas · 7 columnas
session_idintegercustomer_idintegerstarted_attimestampdevicevarcharsourcevarcharpages_viewedintegerconvertedboolean
| session_id | customer_id | started_at | device | source | pages_viewed | converted |
|---|---|---|---|---|---|---|
| 1 | NaN | 2023-01-01 23:02:24 | mobile | paid | 1 | false |
| 2 | 18 | 2023-01-01 15:07:49 | desktop | paid | 1 | false |
| 3 | NaN | 2023-01-01 16:55:46 | desktop | direct | 7 | false |
| 4 | NaN | 2023-01-01 12:43:28 | mobile | organic | 3 | false |
| 5 | NaN | 2023-01-01 13:06:21 | mobile | social | 2 | false |
customers2,018 filas · 9 columnas
customer_idintegerfirst_namevarcharlast_namevarcharemailvarcharcityvarcharstatevarcharsignup_datedatesegmentvarcharreferral_sourcevarchar
| customer_id | first_name | last_name | city | state | signup_date | segment | referral_source | |
|---|---|---|---|---|---|---|---|---|
| 1 | Owen | Hudson | owen.hudson@icloud.com | San Francisco | CA | 2022-06-02 | consumer | search |
| 2 | Douglas | Mendoza | dmendoza69@gmail.com | Atlanta | GA | 2022-06-02 | consumer | NaN |
| 3 | Henry | Brooks | hbrooks@lakesidecafe.com | Los Angeles | CA | 2022-06-04 | business | NaN |
| 4 | Brian | Graham | bgraham@bluecedarhomes.com | Seattle | WA | 2022-06-06 | business | |
| 5 | Kyle | Jimenez | kjimenez27@yahoo.com | Indianapolis | IN | 2022-06-07 | consumer | NaN |
products120 filas · 8 columnas
product_idintegernamevarcharcategoryvarcharsubcategoryvarcharunit_pricedecimalunit_costdecimallaunched_ondateis_activeboolean
| product_id | name | category | subcategory | unit_price | unit_cost | launched_on | is_active |
|---|---|---|---|---|---|---|---|
| 101 | Vale Velvet Loveseat | Furniture | Sofas | 1659.00 | NaN | 2023-09-11 | true |
| 102 | Alder Oak Coffee Table | Furniture | Tables | 919.00 | 503.50 | 2024-05-16 | true |
| 103 | Orchard Rattan Dining Chair | Furniture | Chairs | 789.00 | 429.87 | 2023-05-27 | true |
| 104 | Upland Oak Bookcase | Furniture | Storage | 429.00 | 214.70 | 2022-12-20 | true |
| 105 | Avery Leather Bed Frame | Furniture | Beds | 449.00 | 232.70 | 2021-08-31 | true |
orders12,000 filas · 7 columnas
order_idintegercustomer_idintegerorder_datetimestampstatusvarcharchannelvarcharshipping_feedecimalcoupon_codevarchar
| order_id | customer_id | order_date | status | channel | shipping_fee | coupon_code |
|---|---|---|---|---|---|---|
| 1001 | 125 | 2023-01-01 20:51:19 | completed | web | 0.00 | NaN |
| 1002 | 156 | 2023-01-02 07:58:46 | completed | web | 0.00 | NaN |
| 1003 | 22 | 2023-01-02 10:25:27 | completed | marketplace | 4.99 | WELCOME10 |
| 1004 | 48 | 2023-01-02 11:21:51 | completed | marketplace | 4.99 | WELCOME10 |
| 1005 | 82 | 2023-01-02 11:43:36 | completed | web | 0.00 | WELCOME10 |
order_items30,338 filas · 6 columnas
order_item_idintegerorder_idintegerproduct_idintegerquantityintegerunit_pricedecimaldiscount_pctdecimal
| order_item_id | order_id | product_id | quantity | unit_price | discount_pct |
|---|---|---|---|---|---|
| 1 | 1001 | 121 | 9 | 31.99 | 0.00 |
| 2 | 1001 | 154 | 3 | 11.99 | 0.00 |
| 3 | 1002 | 154 | 4 | 11.99 | 0.00 |
| 4 | 1002 | 194 | 1 | 149.00 | 0.00 |
| 5 | 1002 | 193 | 2 | 19.99 | 0.00 |
returns1,673 filas · 5 columnas
return_idintegerorder_item_idintegerreturned_ondatereasonvarcharrefund_amountdecimal
| return_id | order_item_id | returned_on | reason | refund_amount |
|---|---|---|---|---|
| 1 | 14 | 2023-01-10 | damaged | 83.69 |
| 2 | 42 | 2023-01-10 | wrong_item | 19.99 |
| 3 | 105 | 2023-01-14 | wrong_item | 10.99 |
| 4 | 24 | 2023-01-16 | changed_mind | 26.99 |
| 5 | 126 | 2023-01-16 | late | 20.99 |
employees60 filas · 8 columnas
employee_idintegerfirst_namevarcharlast_namevarchardepartmentvarchartitlevarcharmanager_idintegerhire_datedatesalaryinteger
| employee_id | first_name | last_name | department | title | manager_id | hire_date | salary |
|---|---|---|---|---|---|---|---|
| 1 | Catherine | Hale | Executive | Chief Executive Officer | NaN | 2016-03-01 | 285000 |
| 2 | Robert | Kim | Executive | Chief Operating Officer | 1 | 2017-01-09 | 235000 |
| 3 | Megan | Collins | Sales | Head of Sales | 1 | 2018-04-16 | 172000 |
| 4 | Chloe | Gutierrez | Sales | Account Executive | 3 | 2020-01-21 | 72000 |
| 5 | Frank | Bell | Sales | Account Executive | 3 | 2023-05-21 | 73000 |
marketing_spend3,276 filas · 3 columnas
spend_datedatechannelvarcharamountdecimal
| spend_date | channel | amount |
|---|---|---|
| 2023-01-01 | paid | 492.99 |
| 2023-01-01 | 37.38 | |
| 2023-01-01 | social | 200.53 |
| 2023-01-02 | paid | 709.13 |
| 2023-01-02 | 64.13 |
La lección
Un embudo es una cadena de subconjuntos
Un embudo enumera los pasos que da un visitante hacia una compra y cuenta cuántos llegan a cada uno. Los datos de Harbor & Pine permiten tres etapas:
- Todas las sesiones: cada visita.
- Con interacción: el visitante vio al menos 3 páginas, o sea que exploró.
- Convertidas: la sesión terminó en una compra.
Cada etapa debe ser un subconjunto de la anterior. Aquí se cumple: ninguna sesión convierte con menos de 3 páginas vistas. Si una etapa posterior pudiera contener filas que la anterior no tiene, los porcentajes dejarían de significar “cuántos lograron pasar”.
Dos porcentajes por etapa
Cada etapa recibe dos números:
- Conversión por paso (
pct_of_previous): de los visitantes que llegaron a la etapa anterior, cuántos llegaron a esta. 7,213 de 16,225 sesiones interactuaron (44.46%); 500 de 7,213 sesiones con interacción convirtieron (6.93%). - Conversión total (
pct_of_all): de todas las sesiones, cuántas llegaron aquí. La última fila es la tasa de conversión del primer nivel: 3.08%.
El abandono es el complemento de la conversión por paso: el 55.54% de las sesiones se va antes de la tercera página, y el 93.07% de las sesiones con interacción se va sin comprar.
Tasa de rebote
Un rebote es una sesión con exactamente una página vista. En 2025 rebotaron 6,993 sesiones: una tasa de rebote de 43.10%. Los rebotes forman parte del primer abandono, junto con 2,019 sesiones de dos páginas que tampoco llegaron a la etapa de interacción.
Una tasa de rebote alta suele apuntar a la página de aterrizaje o al tráfico: visitantes que no buscaban lo que ofrece la página. Es una métrica de control que vale la pena vigilar, pero no un objetivo en sí misma; una página que responde la pregunta en la primera pantalla puede tener una tasa de rebote alta y estar cumpliendo su trabajo.
Dónde mirar primero
El paso con mayor abandono no es automáticamente el que hay que arreglar, pero es donde conviene empezar. Aquí se pierden más sesiones antes de la interacción (9,012) que después (6,713), lo que apunta a la calidad del tráfico y a las páginas de aterrizaje antes que al pago.
Errores comunes
- Etapas que no son subconjuntos, como contar “agregó al carrito” de una tabla y “visitó” de otra.
- Mezclar ventanas de tiempo, como sesiones con interacción de diciembre y conversiones de enero.
- Mostrar solo
pct_of_all, lo que hace que cada etapa posterior se vea diminuta y oculta qué paso se fuga.
¡Linterna encendida!
Practicaste: funneldrop offbounce ratestep conversionboolean masks
- Resuelto
- Sin pistas
- Al primer intento
