1. Faro

Nivel 8 · De las cifras a una conclusión

La solicitud

De Megan Collins, Directora de Ventas

“El resumen de dirección tiene espacio para dos frases sobre los clientes business. Sin gráficos, sin código: qué encontramos, las cifras, y qué significa para nosotros. Asegúrate de que cada cifra sea exacta.”

Tu objetivo

Usando las líneas de pedido con quantity > 0 de pedidos con status 'completed' hechos en 2025, calcula el valor de cada pedido y añade el segmento del cliente. Asigna a result este texto (se escribe en inglés tal cual, porque es lo que comprueba el juego), con las cifras calculadas en código: "Business accounts placed {A} of 2025's completed orders but brought {B} of revenue. Their median order was ${C}, against ${D} for consumers, so losing one business account costs as much as losing several consumers." A y B son las cuotas de business sobre los pedidos y sobre los ingresos como porcentajes enteros (formato de f-string :.0%), C y D los valores de pedido medianos de business y de consumer con separadores de miles y sin decimales (formato :,.0f).

  • Usa el DataFrame customerspendiente
  • Usa el DataFrame orderspendiente
  • Guarda un texto (str) en resultpendiente

Tu código

Python

Cargando el editor…

    ResultadoVista previa de customers · presiona Ejecutar para ver el tuyo
    Vista previa de customers
    customer_idfirst_namelast_nameemailcity
    1OwenHudsonowen.hudson@icloud.comSan Francisco
    2DouglasMendozadmendoza69@gmail.comAtlanta
    3HenryBrookshbrooks@lakesidecafe.comLos Angeles
    4BrianGrahambgraham@bluecedarhomes.comSeattle

    Mote revisa tu resultado

    Presiona Ejecutar. Cada fila que cumple el objetivo se vuelve una luciérnaga en tu linterna.

    DataFrames

    Cargados como DataFrames de pandas, junto con pd y np.

    customers2,018 filas · 9 columnas
    • customer_idinteger
    • first_namevarchar
    • last_namevarchar
    • emailvarchar
    • cityvarchar
    • statevarchar
    • signup_datedate
    • segmentvarchar
    • referral_sourcevarchar
    Primeras 5 filas de customers
    customer_idfirst_namelast_nameemailcitystatesignup_datesegmentreferral_source
    1OwenHudsonowen.hudson@icloud.comSan FranciscoCA2022-06-02consumersearch
    2DouglasMendozadmendoza69@gmail.comAtlantaGA2022-06-02consumerNaN
    3HenryBrookshbrooks@lakesidecafe.comLos AngelesCA2022-06-04businessNaN
    4BrianGrahambgraham@bluecedarhomes.comSeattleWA2022-06-06businesspinterest
    5KyleJimenezkjimenez27@yahoo.comIndianapolisIN2022-06-07consumerNaN
    orders12,000 filas · 7 columnas
    • order_idinteger
    • customer_idinteger
    • order_datetimestamp
    • statusvarchar
    • channelvarchar
    • shipping_feedecimal
    • coupon_codevarchar
    Primeras 5 filas de orders
    order_idcustomer_idorder_datestatuschannelshipping_feecoupon_code
    10011252023-01-01 20:51:19completedweb0.00NaN
    10021562023-01-02 07:58:46completedweb0.00NaN
    1003222023-01-02 10:25:27completedmarketplace4.99WELCOME10
    1004482023-01-02 11:21:51completedmarketplace4.99WELCOME10
    1005822023-01-02 11:43:36completedweb0.00WELCOME10
    order_items30,338 filas · 6 columnas
    • order_item_idinteger
    • order_idinteger
    • product_idinteger
    • quantityinteger
    • unit_pricedecimal
    • discount_pctdecimal
    Primeras 5 filas de order_items
    order_item_idorder_idproduct_idquantityunit_pricediscount_pct
    11001121931.990.00
    21001154311.990.00
    31002154411.990.00
    410021941149.000.00
    51002193219.990.00
    products120 filas · 8 columnas
    • product_idinteger
    • namevarchar
    • categoryvarchar
    • subcategoryvarchar
    • unit_pricedecimal
    • unit_costdecimal
    • launched_ondate
    • is_activeboolean
    Primeras 5 filas de products
    product_idnamecategorysubcategoryunit_priceunit_costlaunched_onis_active
    101Vale Velvet LoveseatFurnitureSofas1659.00NaN2023-09-11true
    102Alder Oak Coffee TableFurnitureTables919.00503.502024-05-16true
    103Orchard Rattan Dining ChairFurnitureChairs789.00429.872023-05-27true
    104Upland Oak BookcaseFurnitureStorage429.00214.702022-12-20true
    105Avery Leather Bed FrameFurnitureBeds449.00232.702021-08-31true
    returns1,673 filas · 5 columnas
    • return_idinteger
    • order_item_idinteger
    • returned_ondate
    • reasonvarchar
    • refund_amountdecimal
    Primeras 5 filas de returns
    return_idorder_item_idreturned_onreasonrefund_amount
    1142023-01-10damaged83.69
    2422023-01-10wrong_item19.99
    31052023-01-14wrong_item10.99
    4242023-01-16changed_mind26.99
    51262023-01-16late20.99
    employees60 filas · 8 columnas
    • employee_idinteger
    • first_namevarchar
    • last_namevarchar
    • departmentvarchar
    • titlevarchar
    • manager_idinteger
    • hire_datedate
    • salaryinteger
    Primeras 5 filas de employees
    employee_idfirst_namelast_namedepartmenttitlemanager_idhire_datesalary
    1CatherineHaleExecutiveChief Executive OfficerNaN2016-03-01285000
    2RobertKimExecutiveChief Operating Officer12017-01-09235000
    3MeganCollinsSalesHead of Sales12018-04-16172000
    4ChloeGutierrezSalesAccount Executive32020-01-2172000
    5FrankBellSalesAccount Executive32023-05-2173000
    web_sessions40,000 filas · 7 columnas
    • session_idinteger
    • customer_idinteger
    • started_attimestamp
    • devicevarchar
    • sourcevarchar
    • pages_viewedinteger
    • convertedboolean
    Primeras 5 filas de web_sessions
    session_idcustomer_idstarted_atdevicesourcepages_viewedconverted
    1NaN2023-01-01 23:02:24mobilepaid1false
    2182023-01-01 15:07:49desktoppaid1false
    3NaN2023-01-01 16:55:46desktopdirect7false
    4NaN2023-01-01 12:43:28mobileorganic3false
    5NaN2023-01-01 13:06:21mobilesocial2false
    marketing_spend3,276 filas · 3 columnas
    • spend_datedate
    • channelvarchar
    • amountdecimal
    Primeras 5 filas de marketing_spend
    spend_datechannelamount
    2023-01-01paid492.99
    2023-01-01email37.38
    2023-01-01social200.53
    2023-01-02paid709.13
    2023-01-02email64.13

    La lección

    Qué, cuánto, para qué

    Una conclusión sobre la que un gerente puede actuar tiene tres partes:

    Parte Responde Ejemplo
    Qué ¿Cuál es el resultado principal? Las cuentas business aportan una gran parte de los ingresos
    Cuánto ¿Qué cifra lo respalda? 26 % de los pedidos, 52 % de los ingresos
    Para qué ¿Qué significa para una decisión? Perder una duele tanto como perder varios consumidores

    Sin “cuánto” es la descripción de un gráfico. Sin “para qué” es un dato que nadie puede usar. Compara “El gráfico muestra los ingresos por segmento. Business es alto.” con “Las cuentas business hicieron el 26 % de los pedidos completados de 2025 pero aportaron el 52 % de los ingresos.” Sobre la segunda se puede actuar.

    Calcula las cifras, nunca las copies

    Cada cifra de una conclusión debería venir de código que se ejecuta justo antes, con formato de una f-string. Así, una nueva ejecución con datos nuevos actualiza también la frase, y nadie tiene que reescribir el 52 % desde un gráfico.

    order_share = is_b.mean()                               # 0.2638 → "26%"
    f"{order_share:.0%}"                                    # '26%'
    f"{706.9:,.0f}"                                         # '707'
    f"{1200321.6:,.0f}"                                     # '1,200,322'

    :.0% multiplica por 100, redondea a porcentajes enteros y añade el signo. :,.0f añade separadores de miles. Imprimir la frase (print(result)) la muestra exactamente como la verá el lector.

    Escribirla en un notebook

    En un notebook, la conclusión va en una celda Markdown bajo el gráfico, no en un comentario de código. Markdown es texto plano con marcado ligero: # para un título, ## para una sección, **negrita** para las cifras clave, - para una lista con viñetas, y una tabla con una línea |---|---| bajo su encabezado. Da a cada pregunta su propio encabezado, y luego código, gráfico y conclusión en ese orden. Pon todos los imports en la primera celda y comprueba el notebook con Restart & Run All: si falla de arriba abajo, no está terminado.

    Otros tipos de conclusiones

    • Una decisión sobre los datos: qué decidiste, por qué y su impacto. “Conservamos los 370 pedidos atípicos: son compras business reales, y descartarlos eliminaría una gran parte de los ingresos.”
    • Una correlación: fuerza, dirección, la palabra “asociado”, y qué no está relacionado.
    • Una recomendación: un verbo de acción, un lugar concreto, la cifra que la respalda. “Da a las cuentas business un contacto con nombre: aportan el 52 % de los ingresos con el 26 % de los pedidos.”

    Errores comunes

    • Describir el gráfico (“el gráfico muestra…”) en lugar de enunciar el hallazgo.
    • Redondear a mano o pegar cifras desde un gráfico.
    • Omitir el denominador: “52 % de los ingresos” ¿de qué, en qué año?
    • Escribir “causa” para una correlación, o dar una recomendación sin la cifra que la respalda.

    Elige qué puede ejecutarse en este sitio. Puedes cambiarlo cuando quieras desde "Configurar cookies", al pie de cada página.