Calculadora de margen de beneficio: construir herramientas de P&L de comercio electrónico utilizando OOP

Este capítulo trata sobre qué y por qué OOP para construir una calculadora de P&L. Puedes dominar cómo escribir scripts de Python para construir.

In this Chapter, I will walk you through what and why OOP is for building a P&L calculator. By the end of this Python Tutorial, you can master how to write Python coding scripts to build the calculator that fits your business model.

Tabla de contenido: Calculadora de margen de perfil

¿Qué es OOP?-Programación orientada a objetos

La programación orientada a objetos o OOP es un paradigma de programación que se basa en el concepto de clases y objetos. Puede usarlo para estructurar un programa de software en planos de código simples y reutilizables, que generalmente llamamos clases. Y en una clase, puede crear instancias individuales de objetos.

OOP básicamente consiste en la clase principal (puede tener clase infantil), atributos de clase y métodos (es la función, pero OOP los llama métodos).

Take the eCommerce P&L calculator for an example. eCommerce has different types of business models or is selling different product categories. It has domestic, cross-border, dropshipping, B2B wholesale, etc. Each type of eCommerce business can be a specific instance of an object. It should need a different calculation algorithm and attribute value. It’s because the variable cost item would be slightly different. However, no matter which type of eCommerce, it should have some general attributes to impact the profit margin.

Los atributos del margen de beneficio son:

  • Costo de aterrizaje (incluido el producto por unidad de costo, más envío internacional y tarifas si es un comercio electrónico transfronterizo)
  • Costo de cumplimiento
  • Costo de procesamiento de pagos
  • Costo de reembolso
  • Costo por venta
  • Costo de descuento
  • El precio del sku

In OOP, the concept of class is fundamental. Each class consists of attributes and methods. Then, it can have different objects using this class. Each object in the e-commerce P&L calculator can represent your business model. In other words, all objects are using the same parent class, however, the local attribute value and methods are different.

For example, domestic eCommerce P&L might not have international shipping costs. So the landed cost value would be different with cross-border eCommerce.

Si desea obtener más detalles sobre los costos de las variables de comercio electrónico, consulte este artículo

Vendiendo bien pero perder dinero? 7 Los costos variables están afectando el margen de beneficio de su tienda en línea

Métodos: Algoritmo de la calculadora de margen de beneficio de comercio electrónico transfronterizo

El algoritmo de cálculo es el componente crítico de la calculadora. Es por dos razones. La primera razón es que le gusta absolutamente tener el cálculo del margen de beneficio de SKU correcto para referencia. Luego, la segunda razón es que le gusta asegurarse de que los usuarios estén claros sobre qué formato de datos y datos debe ingresar en su calculadora. A veces puede ser muy complejo si su calculadora tiene como objetivo ayudar a los usuarios a descubrir un número con factores más complejos.

Por ejemplo, en general, la fórmula del margen de beneficio es (precio de SKU – costo de venta) / precio de SKU. Y puede tratar de desglosar el costo de venta en el costo de la tierra, el costo de cumplimiento, el costo de reembolso, el costo de procesamiento de pagos, el CPS y el costo de descuento. Dependiendo del objeto de la calculadora, puede desglosarlo aún más si es necesario, por ejemplo, solicita a los usuarios que ingresen peso, tamaño y destino para el costo de cumplimiento. O aquí tomaré la entrada de la tasa de reembolso para un ejemplo para mostrar el algoritmo

El algoritmo de objeto que se conecta con el valor del atributo es:

(SKU price - landed cost - fulfillment cost - (refund rate * fulfillment cost * 2) - payment processing cost - discount rate * SKU price - CPS) / SKU price

Codificaciones de Python OOP de una calculadora de margen de beneficio de SKU

I take the cross-border eCommerce P&L calculator as the parent class in this Python OOP. Now the scope of attributes and calculation algorithm is ready. Below are the codings of the core engine of the calculator.

In Python OOP, the first thing is to create a parent class. In this class, there are three fundamental components. They are the _init__ attribute, attribute association and a method definition.

atributo _init__

This is the self-default object and method of the class. We need to def the default method by adding all attributes here in the positional arguments in the __init__( ). As we are building a cross-border eCommerce P&L calculator, the attribute items are the price and variable costs related to this model.

def __init__(
self,
landedCost,
shippingCost,
paymentCost,
refundCost,
CPA,
discount,
price
):

Asignar a autoobjeto

El auto objeto está listo, por lo que puede crear las variables que pueden asociarse con los atributos en los argumentos posicionales. Por lo tanto, puede comenzar a usar las variables para todos los métodos en este objeto.

self.landedCost = landedCost
self.shippingCost = shippingCost
self.paymentCost = paymentCost
self.refundCost = refundCost
self.CPA = CPA
self.discount = discount
self.price = price
Define the P&L calculator algorithm method

El OOP-Object es calcular el margen de beneficio después de ingresar los valores del atributo SKU. Así que necesitamos un algoritmo integrado en esta clase. Para esto, podemos crear un método utilizando DEF, y el argumento posicional puede ser uno mismo.

def calculate_profitmargin(self):

return (self.price - self.landedCost - self.shippingCost - self.price * self.paymentCost - self.shippingCost * 2 * self.refundCost - self.CPA - self.discount * self.price) / self.price

Como se mencionó, el algoritmo de cálculo varía según las necesidades reales. Por lo tanto, puede definir más métodos de algoritmo en esta clase, por ejemplo, puede establecer el otro que reemplace el precio de SKU con el AOV.

Scripts de frascos

Flask es un amigo y potente constructor de aplicaciones web que puede integrarse con sus scripts de programación, como Python, HTML, CSS, PHP, etc. Aplicaciones web de Python, consulte este artículo

Capítulo 26: Cree una aplicación web Shopify Bot con Flask y Heroku

En el script frascos de la aplicación de la calculadora, hay dos cosas principales que debe cuidar. Son el script de Python y el script HTML.

Script de Python en el script de frascos

El script de Python aquí debe conectar la tabla HTML front-end que es para recopilar el valor del atributo. Mientras tanto, necesita conectarse con el algoritmo de calculadora OOP alimentando los datos recopilados de la página HTML. Una de las cosas más importantes es el argumento posicional, coincida bien con la variable de datos de entrada y el argumento posicional, para evitar el resultado incorrecto en el cálculo

Autoobjeto:

profitMargin1 = item(landedCost1, shippingCost1, paymentCost1, refundCost1, CPA1, discount1, price1)

Asignar el algoritmo de cálculo

result = "{:.2%}".format(round(profitMargin1.calculate_profitmargin(), 2))

You might notice, we convert the calculation into a percentage number. That’s because the outcome from calculate_profitmargin is a floating number. That would create a better user experience

Mantenga el valor de entrada en la página de resultados

A los usuarios les gustaría verificar el número que ingresan en el cuadro que genera el resultado. Por lo tanto, mantener el valor de entrada es importante si desea crear una mejor experiencia de usuario. Por lo tanto, en la devolución, necesitamos agregar estos parámetros además de seleccionar la plantilla de la página HTML.

return render_template("result.html", price1=price1, landedCost1=landedCost1, shippingCost1=shippingCost1, paymentCost1=paymentCost1, refundCost1=refundCost1, CPA1=CPA1, discount1=discount1, result=result)

Páginas de plantilla HTML

Las páginas HTML son la parte delantera donde muestra el diseño y el diseño de su calculadora, y bloques de interacción a los usuarios. Lanzaré otro artículo sobre cómo construir y decorar una página web utilizando HTML y CSS. Pero en esta aplicación, lo clave es que debe asegurarse de que todos los datos recopilados puedan estar relacionados con el argumento posicional correcto. De lo contrario, el resultado del cálculo podría estar equivocado

Por lo tanto, como puede ver, cada cuadro de entrada tiene un elemento de nombre relacionado que está conectado con el mismo nombre de la variable que usa para calcular el margen de beneficio.

Full Python Script of eCommerce Profit & Loss Calculator

If you are interested in the full script of the eCommerce Profit & Loss Calculator, please subscribe to our newsletter by adding the message “Chapter 33”. We would send you the script immediately to your mailbox.

Contáctenos

Espero que disfrutes leyendo el Capítulo 33: crea una calculadora de margen de beneficio de comercio electrónico usando OOP. Si lo hizo, por favor nos apoye haciendo una de las cosas enumeradas a continuación, porque siempre ayuda a nuestro canal.

  • Support and donate to our channel through PayPal (paypal.me/Easy2digital)
  • Subscribe to my channel and turn on the notification bell Easy2Digital Youtube channel.
  • Follow and like my page Easy2Digital Facebook page
  • Comparta el artículo en su red social con el hashtag #Easy2Digital
  • Buy products with Easy2Digital 10% OFF Discount code (Easy2DigitalNewBuyers2021)
  • Usted se registra en nuestro boletín semanal para recibir los últimos artículos, videos y códigos de descuento de Easy2Digital.
  • Subscribe to our monthly membership through Patreon to enjoy exclusive benefits (www.patreon.com/louisludigital)

PREGUNTAS MÁS FRECUENTES:

P1: ¿Qué es la programación orientada a objetos?

R: La programación orientada a objetos (OOP) es un paradigma de programación que organiza datos y comportamientos en estructuras reutilizables llamadas objetos. Se centra en el concepto de clases y objetos, lo que permite un desarrollo de código modular y eficiente.

P2: ¿Cuáles son los beneficios de usar la programación orientada a objetos?

R: Algunos beneficios del uso de la programación orientada a objetos incluyen la reutilización del código, la modularidad, la encapsulación y la abstracción. OOP permite un mantenimiento y actualizaciones más fáciles, así como tiempos de desarrollo más rápidos.

P3: ¿Cómo difiere la programación orientada a objetos de la programación de procedimientos?

R: La programación de procedimientos se centra en los procedimientos de escritura o las funciones que operan en datos, mientras que la programación orientada a objetos se centra en la creación de objetos que contienen datos y funciones. OOP promueve la organización del código y la reutilización.

P4: ¿Cuáles son las clases en programación orientada a objetos?

R: Las clases son el plan o la plantilla para crear objetos en la programación orientada a objetos. Definen las propiedades y comportamientos que los objetos de esa clase tendrán.

P5: ¿Qué son los objetos en la programación orientada a objetos?

R: Los objetos son instancias de una clase en programación orientada a objetos. Se crean a partir del plan de clase y pueden tener sus propios datos y comportamientos únicos.

P6: ¿Qué es la herencia en la programación orientada a objetos?

R: La herencia es una característica de la programación orientada a objetos que permite que las clases hereden propiedades y comportamientos de otras clases. Promueve la reutilización de código y la jerarquía.

P7: ¿Qué es el polimorfismo en la programación orientada a objetos?

R: El polimorfismo es la capacidad de un objeto para asumir muchas formas. En la programación orientada a objetos, permite que los objetos de diferentes clases se traten como objetos de una superclase común.

P8: ¿Qué es la encapsulación en la programación orientada a objetos?

R: La encapsulación es el proceso de ocultar los detalles internos de un objeto y exponer solo la información necesaria. Ayuda a mantener la integridad y la seguridad del código.

P9: ¿Qué es la abstracción en la programación orientada a objetos?

R: La abstracción es el proceso de simplificar los sistemas complejos al dividirlos en partes más pequeñas y más manejables. Permite una comprensión y mantenimiento más fácil del código.

P10: ¿Cuáles son algunos lenguajes de programación populares que admiten la programación orientada a objetos?

R: Algunos lenguajes de programación populares que admiten la programación orientada a objetos incluyen Java, C ++, Python, Ruby y C#.