Nivel 1 · Conversión en escritorio frente a móvil
0 de 3
La solicitud

De Daniel Foster, Gerente de producto móvil
Tu objetivo
Asigna a result un dict con "desktop" y "mobile", la tasa de conversión (proporción de sesiones con converted True) de cada dispositivo, y "lift", el lift relativo de desktop sobre mobile (tasa desktop / tasa mobile - 1). Calcula el lift con las tasas sin redondear y luego redondea los tres valores a 4 decimales.
- Usa el DataFrame
web_sessionspendiente - Guarda un dict en
resultpendiente
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 Daniel, 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
La tasa de conversión es una media
Una tasa de conversión es la proporción de visitas que terminan en un pedido: conversiones
divididas entre visitas. En pandas no necesitas contar nada. converted es una columna de
verdadero/falso, True cuenta como 1 y False como 0, así que su media es la proporción de valores True:
web_sessions["converted"].mean() # 0.0298 overall
web_sessions.groupby("device")["converted"].mean()
device
desktop 0.038718
mobile 0.024131
tablet 0.028133
Las visitas de escritorio terminan en un pedido el 3.87% de las veces, las móviles el 2.41%. Mira siempre también los conteos: 14,541 sesiones de escritorio, 21,549 móviles y solo 3,910 de tablet. Los grupos pequeños tienen tasas ruidosas.
Dos maneras de decir “más grande”
La misma brecha se puede escribir de dos maneras, y confundirlas es uno de los errores más comunes en los informes.
- Diferencia absoluta, en puntos porcentuales: 3.87% - 2.41% = 1.46 puntos.
- Lift relativo, en porcentaje: 3.87 / 2.41 - 1 = 0.60, así que escritorio convierte 60% más a menudo.
“La conversión subió 2%” es ambiguo: ¿de 3.0% a 5.0% (2 puntos) o de 3.0% a 3.06% (2% relativo)? Escribe “puntos” para las diferencias absolutas y ”% más” para las relativas, y da la tasa base.
Lo que la brecha significa y lo que no
Los números dicen que las visitas móviles convierten menos. No dicen que el sitio móvil sea peor. Los visitantes móviles navegan en el autobús, comparan precios y vuelven en una laptop para comprar. Una tasa por sesión no puede ver ese recorrido. Comparar grupos que se eligieron solos (la gente escoge su dispositivo) muestra una diferencia, no su causa. Solo una prueba controlada, donde una moneda decide quién ve qué, puede decirte si un cambio en el sitio móvil movería el número. Hacia eso se encamina el resto de este capítulo.
Errores comunes
- Lift a partir de tasas redondeadas. 0.0387 / 0.0241 - 1 da 0.6058, no 0.6045. Redondea al final.
- Puntos frente a porcentaje. Una brecha de 1.46 puntos es un lift de 60%. Di cuál de los dos quieres decir.
- Promediar tasas entre grupos. La tasa global no es la media de las tres tasas por dispositivo: (3.87 + 2.41 + 2.81) / 3 = 3.03%, pero la tasa global real es 2.98%, porque móvil tiene más sesiones. Recalcúlala desde las filas.
- Una tasa sin su conteo. Una tasa de 6% sobre 50 sesiones son tres pedidos. Muestra n.
Nota de entrevista
“Nuestra conversión subió 10%, ¿es bueno?” es una pregunta de seguimiento clásica. Una buena respuesta pregunta si es 10% relativo o 10 puntos, desde qué base, sobre cuántas sesiones y comparado con qué: el mismo periodo del año pasado o un grupo de control asignado al azar.
¡Linterna encendida!
Practicaste: conversion rateliftrelative differenceproportions
- Resuelto
- Sin pistas
- Al primer intento
