WooCommerce: Descuentos por paridad de poder adquisitivo (PPA)

Publicado: 2022-08-03

Desde… hoy, los cursos en línea de Business Bloomer son asequibles para todos .

Es lamentable que los productos digitales (como nuestros cursos en línea de WooCommerce) tengan un precio en dólares estadounidenses, pero no hay ajuste para países menos privilegiados.

Es una pena porque el contenido debería ser accesible para TODOS los desarrolladores de WooCommerce en todo el mundo, sin importar su nivel de ingresos. Recibo docenas de correos electrónicos por mes de personas increíbles que realmente no pueden pagar un curso de USD 397 porque ganan esa cantidad de dinero en 4 meses si tienen suerte.

Entonces, cambiemos esto. Aquí viene la paridad del poder adquisitivo (PPA) al rescate.

PPP es una métrica especial que nos dice el "poder adquisitivo" real de un país determinado. Tome una canasta de bienes idénticos, pague en su moneda local en su propio país; compre los mismos artículos en USD en los Estados Unidos. Compare esa diferencia con el tipo de cambio real. Ahora realmente tiene una idea de cuánto puede pagar un país por esa canasta de bienes.

Hablemos en inglés sencillo. ¿Eres de la India ? Puede obtener hasta un 75% de descuento en nuestros cursos en línea. ¿Eres de Sudáfrica ? ¡Quizás un 59% de descuento! ¿Eres de Argentina ? 61% de descuento en promedio. ¿Eres de Noruega ? No hay descuento, lo siento (parece que lo haces mejor que los EE. UU.). Y así…

En esta publicación, revisaré un ejemplo matemático rápido de PPP para brindarle un poco de contexto, y luego le diré cómo implementé los descuentos de PPP en este mismo sitio web de WooCommerce.

¿Quiere ayudarme a probar la funcionalidad de descuento PPP que actualmente se encuentra en versión beta? Agregue un curso al carrito, por ejemplo, CustomizeWoo PRO, seleccione su país de facturación al finalizar la compra y deje un comentario a continuación con el descuento que obtuvo, si corresponde.

¡Disfrutar!

Gracias a los ajustes PPP de Business Bloomer, a partir de hoy, los clientes de Afganistán obtendrán hasta un 75 % de descuento en cursos en línea premium.

Paridad del poder adquisitivo: las matemáticas

Ejemplo: en Estados Unidos, puedo comprar el libro “ LO QUE SEA ” por USD 10. En India, según el tipo de cambio de hoy ( USD 1 = INR 78), el precio debería ser INR 780…. pero no lo es, porque India no tiene el mismo poder adquisitivo que Estados Unidos .

Si el mismo libro " LO QUE SEA " en la India tiene un precio de 300 INR , PPP es igual a 300 INR / 10 USD = 30. Puede ver que hay una gran diferencia entre el tipo de cambio real (78) y el PPA calculado ( 30). Es decir, India, en promedio, puede comprar el mismo artículo por menos dólares porque no puede permitirse pagar la cantidad convertida exacta.

Ahora podemos usar las 2 cifras para llegar a la siguiente conclusión: en India, este artículo de USD 10 se puede comprar en moneda local por INR 300; dado el tipo de cambio actual de 78, esto significa que un artículo de 10 USD se puede comprar allí por 300/78 = 3,84 USD

En pocas palabras, si India solo puede pagar USD 3,84 de 10, los productos en India vendidos por una empresa estadounidense en USD deberían tener un descuento del 61,6 % para ser “justos” y en línea con PPP . Un curso de 100 USD debería tener un precio de 38,4 USD en India.

Implementación de la paridad del poder adquisitivo de WooCommerce

Decidí detectar el país directamente en la página de pago, una vez que se elige el país de facturación. No estoy usando la geolocalización porque es más lenta y también porque con la tecnología VPN es posible que no sepas realmente de dónde es un usuario.

Aquí está el PHP que uso para leer dinámicamente el país de facturación (código de 2 letras) una vez que se carga/actualiza el pago:

/**
 * @snippet       Get Billing Country @ WooCommerce Checkout
 * @how-to        Get CustomizeWoo.com FREE
 * @author        Rodolfo Melogli
 * @compatible    WooCommerce 6
 * @donate $9     https://businessbloomer.com/bloomer-armada/
 */

add_action( 'woocommerce_checkout_update_order_review', 'bbloomer_ppp' );

function bbloomer_ppp( $post_data ) {
   parse_str( $post_data, $output );
   if ( $output['billing_country'] ) {
      $country_code_2 = $output['billing_country'];
      // THEN, DO SOMETHING WITH COUNTRY CODE
   }
}

Una vez que obtengo el país de facturación, suceden muchas cosas:

  1. Me aseguro de que el país no sea EE. UU., ya que su valor PPP es 1 por definición.
  2. Me aseguro de que el carrito contenga la categoría "cursos en línea", de lo contrario salgo.
  3. Obtengo el código de moneda del país (del mismo WooCommerce).
  4. Llamo a una API de tipo de cambio de divisas gratuita (exchangerate.host) y obtengo el tipo de cambio de divisas frente al USD.
  5. Calculo el código de 3 letras del país, ya que es necesario para el punto 6 (a diferencia de la versión de 2 letras). Esto se hace llamando a la API del Banco Mundial.
  6. Llamo a una API PPP gratuita (Banco Mundial) y obtengo el valor PPP del país (calculado como el valor promedio de los últimos 5 años).
  7. Calculo el descuento en base al valor PPP (máximo 75%)

Aquí está el PHP que uso para obtener el código de moneda, el tipo de cambio y el valor PPP para un país de facturación de WooCommerce determinado:

/**
 * @snippet       Get Currency, Ex Rate & PPP By Billing Country
 * @how-to        Get CustomizeWoo.com FREE
 * @author        Rodolfo Melogli
 * @compatible    WooCommerce 6
 * @donate $9     https://businessbloomer.com/bloomer-armada/
 */

// GET CURRENCY CODE
$locale_info = include WC()->plugin_path() . '/i18n/locale-info.php';	
$currency = $locale_info[$output['billing_country']]['currency_code'];

// GET EXCHANGE RATE
$req_url = 'https://api.exchangerate.host/latest/?base=USD&symbols=' . $currency;
$response_json = file_get_contents( $req_url );
$response = json_decode( $response_json );
if ( $response->success === true ) {
	$exchange_rate = $response->rates->{$currency};
}

// GET COUNTRY PPP VALUE (AVERAGE FOR PREVIOUS 5 YEARS)
$ppp_url = 'https://api.worldbank.org/v2/country/' . $country_code_3 . '/indicator/PA.NUS.PRVT.PP?date=' . date( "Y", strtotime( "-5 years" ) ) . ':' . date( "Y", strtotime( "-1 year" ) ) . '&format=json';
$ppp = json_decode( file_get_contents( $ppp_url ), true );
$values = array();
foreach ( $ppp[1] as $key => $val ) {
	if ( $val['date'] && $val['value'] ) {
		$values[$val['date']] = (float) $val['value'];
	}
}
$avg_ppp = array_sum( $values ) / count( $values );

En esta etapa, aparece una notificación de pago :

  • Si no existe un valor PPP para ese país (Worldbank no tiene datos para todos los países), invito a los clientes a que se comuniquen conmigo porque no quiero que nadie quede excluido de los posibles descuentos.
  • Si el valor PPP existe y el país tiene menos poder adquisitivo, muestro una notificación de pago con un 1% a 75% de descuento en el botón "Aplicar cupón" (al hacer clic, el pago se recarga y aplica el descuento).

Aquí está el código PHP que muestra el aviso de pago cuando PPP no es nulo y el descuento está entre 1 y 75% :

/**
 * @snippet       Show Notice @ WooCommerce Checkout
 * @how-to        Get CustomizeWoo.com FREE
 * @author        Rodolfo Melogli
 * @compatible    WooCommerce 6
 * @donate $9     https://businessbloomer.com/bloomer-armada/
 */

$message = 'Your country is eligible for a ' . $discount . '% discount on courses! Read more about Purchasing Power Parity <a href="/woocommerce-purchasing-power-parity-discounts" target="_blank">here</a>. <a href="' . esc_url( add_query_arg( 'ppp', $discount, wc_get_checkout_url() ) ) . '" class="button wc-forward">Apply Discount</a>';
if ( ! WC()->cart->has_discount( $discount ) ) {
	wc_add_notice( $message, 'success' );
}

Cupones de paridad de poder adquisitivo de WooCommerce

Por supuesto, también tuve que analizar la creación de códigos de cupón, porque decidí mantener los Descuentos PPP como opcionales, es decir , los clientes deben hacer clic para aplicar su descuento . Esta es una buena estrategia, creo, porque es posible que alguien no quiera usar el descuento (por ejemplo , puedo ser un desarrollador estadounidense que vive en la India, por lo que en realidad tengo uno de los valores de poder adquisitivo más altos ).

Por lo tanto, tuve que:

  • genere códigos de cupón a granel, uno para cada monto de descuento (fragmento de PHP próximamente)
  • aplicar automáticamente un cupón al hacer clic en el botón "Aplicar cupón" (fragmento de PHP próximamente)
  • oculte los códigos de cupón en el proceso de pago para evitar compartir/abusar de los cupones

Y esto es todo.

WooCommerce PPP ahora está en versión beta, ya se está ejecutando en la página de pago de Business Bloomer, y puede probarlo agregando un curso al carrito (por ejemplo, aquí hay un enlace directo para agregar CustomizeWoo PRO al carrito), seleccionando un país de facturación y leyendo el pago notificación con el monto del descuento.

Preguntas frecuentes sobre la paridad del poder adquisitivo de WooCommerce

Rodolfo, mi país tiene un 49% de descuento y no un 74% como India?

Los cálculos se basan en datos públicos disponibles en línea, ¡así que no lo tome como algo personal! Hice lo mejor que pude al considerar el valor PPP promedio durante los últimos 5 años. Si aún cree que los cálculos no son justos, publique un comentario a continuación y hablemos. Todavía estamos en beta.

Rodolfo, ¿qué pasa con las estafas y la gente mala?

Estos siempre serán parte del comercio online. Probablemente haré que algunas personas ingresen países de facturación aleatorios para obtener un descuento, pero creo que sus pedidos fallarán ya que PayPal/Stripe no reconocerá ese país. Si esta comprobación falla, no hay problema en absoluto. Estas transacciones serán definitivamente menores que la cantidad de personas en todo el mundo que ahora pueden pagar mis cursos.

Rodolfo, ¿por qué solo cursos en línea?

Porque los otros productos/suscripciones cuestan menos de $99 y no puedo descontarlos. Igual que la consultoría/desarrollo de WooCommerce; desafortunadamente, los impuestos aquí en Italia son altos y debo apegarme a mi tarifa por hora.

Rodolfo, ¿puedo tener el código PPP de WooCommerce completo?

Dame unos días/semanas. Esto pronto se empaquetará en un mini complemento, para que pueda aplicar lo mismo a su propia tienda WooCommerce.

Rodolfo, soy estudiante existente y hace X meses pagué el precio completo en USD…

Conozco tu dolor, pero recuerda que tienes acceso de por vida a los videos, así como soporte de por vida para el asunto de WooCommerce. Si esto todavía no es suficiente, lo entiendo. Ponte en contacto y veré si puedo ayudar.