Análisis de la producción agrícola de México, Jalisco y San Martin Hidalgo, 2013-2015
Tenemos múltiples archivos obtenidos de Sagarpa, para las tres entidades durante los años 2013, 2014 y 2015, con dos versiones, una simple y otra detallada que consiste en una subclasificación del cultivo.
Iniciamos cargando las bases de datos, y tabulando la base de datos del 2015 nacional.
%pylab inline
pylab.rcParams['figure.figsize'] = (10, 6)
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
# three years, national
dn15 = pd.read_csv('2015.csv')
dn14 = pd.read_csv('2014.csv')
dn13 = pd.read_csv('2013.csv')
# 2015 detailed national
dn15d = pd.read_csv('2015d.csv')
# 2015 jalisco, both
djal15 = pd.read_csv('2015jal.csv')
djal15d = pd.read_csv('2015jald.csv')
# 2015 san martin, both
dsmh15 = pd.read_csv('2015smh.csv')
dsmh15d = pd.read_csv('2015smhd.csv')
dn15.head()
Originalmente las bases de datos están ordenados alfabeticamente. Antes que nada veremos algunos estadísiticos de la primera base.
print "Número de productos:", len(dn15)
print "Número de productos con 0 hectareas sembradas:", len(dn15[dn15.sembrado_ha == 0])
print "Número de productos con 0 hectareas cosechadas:", len(dn15[dn15.cosechado_ha == 0])
print "Número de productos con 0 hectareas perdídas:", len(dn15[dn15.siniestrado_ha == 0])
Al parecer no hay un cultivo que esté demás, y ninguno sufrió pérdidas totales en el año 2015. En seguida veremos cuales fueron los 10 productos más sembrados:
dn15.sort_values('sembrado_ha', ascending=False).head(10)
No hay sorpresa aqui. Calculando el porcentaje de cosecha/siembra, podemos ver cuales fueron los 5 productos más exitosos en cuanto a la cosecha y cuales fueron los peores:
dn15['exito'] = (dn15.cosechado_ha/dn15.sembrado_ha)*100
# menos pérdidas
dn15.sort_values(['exito', 'sembrado_ha'], ascending=False).head()
# más pérdidas (segundo ordenamiento: sembrado_ha)
dn15.sort_values(['exito', 'sembrado_ha'], ascending=True).head(10)
La cebada, el frijol, la calabaza y la jicama tuvieron un porcentaje de éxito menor al 90%, según los datos estos fueron los mas "riesgosos" en el 2015.
En seguida veremos cuales fueron los productos que más toneladas rindieron por hectarea. Y cuales fueron los que menos toneladas rinden.
dn15.sort_values(['rendimiento_ton_ha'], ascending=False).head(5)
Igual que el ánalisis pasado, las plantas producen más toneladas y aun no entiendo porque. El quinto cultivo que más toneladas produce es la planta de fresa, no sabia que eso existe.
Algo debe estár mal especificado, porque el valor promedio de una tonelada del tabaco, la hortensia y la fresa (planta) es menos de un peso.
print "Producción (pesos) / Producción (toneladas):", (136647.10*1000)/182607000.0, "(pesos)"
Ahora analizaremos cuales fueron los productos más valiosos según el precio promedio de cada tonelada.
dn15.sort_values(['pmr_v_ton'], ascending=False).head(10)
El valor de una tonelada de semilla de coliflor, kenaf, brocoli son las más caras. Una tonelada de semilla de coliflor fue de $135,509 pesos! Esto también se debe probablemente a la reducida cantidad de siembra.
La chia fue bastante valiosa en el 2015, todo mundo ama la chia. Para tener una mejor idea, podemos listar las mas valiosas que se sembraron más de miles hectareas:
dn15[dn15.sembrado_ha > 1000].sort_values(['pmr_v_ton', 'sembrado_ha'], ascending=False).head(10)
La chia sale ganando! De los cultivos que se sembraron más de 1000 hectareas, aparece el ajo, la jamaica, la fresa y el amaranto. La calabeza parece ser bastante valiosa pero se registraron pérdidas de 5,531 hectareas, algo riesgosa.
Quizás sea más interesante visualizar cuales cultivos fueron muy valiosos y que se sembraron bastante poco, posiblemente indicando una falta de oferta, luego compararemos estos resultados con los de Jalisco y San Martin:
dn15[dn15.sembrado_ha < 20].sort_values('pmr_v_ton', ascending=False).head(10)
El tarragon, es el cultivo más valioso de los productos que se sembraron menos de 20 hectareas (deberiamos buscar en donde se sembraron esas 10 hectareas) con un valor promedio de $72,331 pesos cada tonelada. Otros cultivos notables son la semilla de canola, la menta, los chives y la semilla de jitomate (será dificil sembrar eso también?). De pura curiosidad podemos ver cuales cultivos fueron los más caros y que solo se producieron una sola hectarea en México 2015:
dn15[dn15.sembrado_ha < 2].sort_values('pmr_v_ton', ascending=False)
Al parecer solo 5 productos se sembraron menos de 1 hectarea. La semilla de canola costó 21,000 pesos la tonelada y solo se producieron 3.2 toneladas. Los datos indican que los anturios (gruesa) fue la segunda más valiosa y solo se sembró 0.26 hectareas, con un valor de 1,709 pesos las tonelada.
Ahora un análisis rápido de la producción de Jalisco y de San Martin Hidalgo, para continuar con un análisis comparativo de posibles oportunidades por discrepancias en precios.
5 productos más producidos (hectareas), y más valiosos (pesos por tonelada) de Jalisco y San Martin:
djal15.sort_values('cosechado_ha', ascending=False).head(5)
djal15.sort_values('pmr_v_ton', ascending=False).head(5)
Sin sorpresas, lo más cosechado fue el maiz, el sorgo, el trigo y la avena en Jalisco.
La chia es el número 1 en Jalisco en cuanto a valor de la tonelada, seguida por la semilla de calabaza, la jamaica y el Ajonjoli.
dsmh15.sort_values('cosechado_ha', ascending=False).head()
dsmh15.sort_values('pmr_v_ton', ascending=False).head()
Interesantemente el arroz es el segundo producto más producido en San Martin en el 2015, detras del obvio maiz de grano. El garbanzo y el cartamo fueron muy sembrados también. Probablemente solo un productor sembró el arroz palay porque el valor promedio de la tonelada fue exactamente $5,000 pesos.
En cuanto a valor, la chia, al igual que en todo Jalisco, es la número uno en cuanto a valor por tonelada, la tonelada se valoró en \$32,000 pesos. En segundo lugar fue el chile verde que costó casi \$29,000 pesos la tonelada pero solo sembraron 2 hectareas produciendo 227 toneladas de chile.
Antes de hacer un análisis total de las discrepancias en los valores, veremos el caso especifico del chile verde producido en San Martin Hidalgo. El precio del kilo fue en promedio \$29 pesos, bastante caro a comparación del valor de Jalisco (10 pesos el kilo) y especialmente contra el valor del total nacional (6.5 pesos el kilo):
# Nacional ($6.5 pesos x kilo)
dn15[dn15.cultivo == 'Chile verde']
# Jalisco (~$10 pesos x kilo)
djal15[djal15.cultivo == 'Chile verde']
Esto implica múltiples preguntas sobre esta discrepancia:
Ahora listamos los cultivos en orden de su discrepancia primero Jalisco contra Nacional y luego San Martin contra Jalisco:
# Jalisco vs Nacional
national = dn15.copy()
national.cultivo = national.cultivo.str.lower()
national = national.drop(['exito', 'sembrado_ha', 'siniestrado_ha', 'rendimiento_ton_ha', 'produccion_kdp'], axis=1)
jalisco = djal15.copy()
jalisco.cultivo = jalisco.cultivo.str.lower()
jalisco = jalisco.drop(['sembrado_ha', 'siniestrado_ha', 'rendimiento_ton_ha', 'produccion_kdp'], axis=1)
combined = pd.merge(national, jalisco, on='cultivo')
combined['spread'] = abs(combined['pmr_v_ton_x'] - combined['pmr_v_ton_y'])
combined = combined[(combined.pmr_v_ton_x != 0) & (combined.pmr_v_ton_y != 0)]
combined.sort_values('spread', ascending=False).head(10)
pylab.rcParams['figure.figsize'] = (15, 6)
combined.plot(x='cultivo', y='spread', kind='bar', grid=True, title='Diferencia en pesos $, Jalisco vs Nacional')
# Estadísticos de la diferencia
combined.spread.describe()
# Histograma de la diferencia
pylab.rcParams['figure.figsize'] = (8, 4)
combined.spread.plot(kind='hist', bins=100)
Evidentemente el mercado agrícola de México no es muy eficiente, ya que existen bastantes discrepancias entre los precios. La diferencia promedio de los productos comparados entre Jalisco y el total nacional es de \$1,725 pesos por tonelada. No es mucho pero lo interesante es ver los casos especiales en donde las diferencias son bastante altas por ejemplo:
Esto indica que existe la posibilidad de arbitraje, pero dado la naturaleza del activo (cultivos), trasladar y distribuir entre estados es costoso posiblemente limitando la oportunidad de arbitraje, pero, estos casos especificos podrían ser por un desequilibrio entre la oferta y la demanda ofreciendo una oportunidad de producción en ciertas areas.
Pasamos hacer el mismo análisis pero ahora comparando a San Martin con Jalisco:
# San Martin vs Jalisco
jalisco = djal15.copy()
jalisco.cultivo = jalisco.cultivo.str.lower()
jalisco = jalisco.drop(['sembrado_ha', 'siniestrado_ha', 'rendimiento_ton_ha', 'produccion_kdp'], axis=1)
smh = dsmh15.copy()
smh.cultivo = smh.cultivo.str.lower()
smh = smh.drop(['sembrado_ha', 'siniestrado_ha', 'rendimiento_ton_ha', 'produccion_kdp'], axis=1)
combined2 = pd.merge(jalisco, smh, on='cultivo')
combined2['spread'] = abs(combined2['pmr_v_ton_x'] - combined2['pmr_v_ton_y'])
combined2 = combined2[(combined2.pmr_v_ton_x != 0) & (combined2.pmr_v_ton_y != 0)]
combined2.sort_values('spread', ascending=False).head(10)
pylab.rcParams['figure.figsize'] = (15, 6)
combined2.plot(x='cultivo', y='spread', kind='bar', grid=True, title='Diferencia en pesos $, SMH vs Jalisco')
Como podemos observar también existen diferencias naturales entre los precios promedios por tonelada de San Martin y del total del estado, pero dos casos especificos resaltan:
El caso del chile verde ya lo habíamos mencionado antes, solo se sembraron 2 hectareas en San Martin y por lo tanto existe una oportunidad gracias a la poca oferta. El caso de la chia es muy similar, en el 2015 San Martin solo aportó el 0.13% de la producción de chia, y resultó ser un poco más fertil que (toneladas por hectarea) que el promedio de Jalisco. ¿Esto implica una oportunidad para producir Chia/Chile y venderla en otros municipios y o estados?
Un análisis más completo pide revisar las cuentas de cada uno de los municipios de Jalisco para poder observar/eliminar aquellos que podrían haber afectado el promedio estatal, para poder identificar si realmente existe una discrepencia sugerible y por lo tanto una oportunidad de ofertar en el mercado local y/o estatal.