Kassaflödesanalys är en kritisk del av ekonomistyrning, och med Python, Pandas och MongoDB kan vi automatisera och optimera analysen för att snabbt identifiera likviditetsproblem och förbättra affärsbeslut.
I denna artikel går vi igenom:
✅ Hur vi hämtar och lagrar transaktionsdata i MongoDB
✅ Bearbetning av kassaflödesdata med Pandas
✅ Automatiserad analys av in- och utflöden
✅ Skapande av en visuell rapport med nyckeltal
1. Importera transaktionsdata från MongoDB
MongoDB är en perfekt lösning för ekonomidata eftersom det hanterar stora datamängder och kan lagra transaktioner i realtid.
Exempel: Hämta kassaflödesdata från MongoDB
from pymongo import MongoClient
import pandas as pd
# Anslut till MongoDB
client = MongoClient("mongodb://localhost:27017/")
db = client["finance_db"]
collection = db["cashflow"]
# Hämta transaktioner
data = list(collection.find({}, {"_id": 0})) # Hämtar alla transaktioner utan _id-fältet
# Konvertera till Pandas DataFrame
df = pd.DataFrame(data)
# Konvertera datum till korrekt format
df["datum"] = pd.to_datetime(df["datum"])
print(df.head())
✅ Nu har vi transaktionsdata redo för analys!
2. Analysera kassaflödet per månad
Vi grupperar transaktioner för att se hur mycket pengar som kommer in och går ut varje månad.
Exempel: Beräkna in- och utflöden
# Skapa en månadskolumn
df["månad"] = df["datum"].dt.to_period("M")
# Dela upp inkomster och utgifter
df["inflow"] = df["belopp"].apply(lambda x: x if x > 0 else 0)
df["outflow"] = df["belopp"].apply(lambda x: -x if x < 0 else 0)
# Summera per månad
cashflow_summary = df.groupby("månad")[["inflow", "outflow"]].sum()
print(cashflow_summary)
✅ Nu ser vi nettokassaflödet per månad!
3. Identifiera likviditetsproblem
Vi vill upptäcka månader där kassaflödet är negativt.
Exempel: Markera månader med negativt kassaflöde
# Beräkna nettokassaflöde
cashflow_summary["net_cashflow"] = cashflow_summary["inflow"] - cashflow_summary["outflow"]
# Identifiera månader med negativt kassaflöde
negative_cashflow = cashflow_summary[cashflow_summary["net_cashflow"] < 0]
print("Månader med negativt kassaflöde:\n", negative_cashflow)
✅ Nu ser vi vilka perioder som kräver åtgärder!
4. Förutse framtida kassaflöden med rullande medelvärde
Ett rullande medelvärde hjälper oss att förutse framtida trender i kassaflödet.
Exempel: Beräkna rullande 3-månaders medelvärde
cashflow_summary["rolling_avg"] = cashflow_summary["net_cashflow"].rolling(window=3).mean()
print(cashflow_summary)
✅ Nu får vi en bättre bild av långsiktiga trender!
5. Visualisera kassaflödet med Matplotlib
För att snabbt förstå trender är det bra att visualisera kassaflödet.
Exempel: Skapa en linjediagram över nettokassaflödet
import matplotlib.pyplot as plt
cashflow_summary["net_cashflow"].plot(kind="line", title="Nettokassaflöde över tid", ylabel="Belopp", xlabel="Månad")
plt.axhline(y=0, color="red", linestyle="--") # Markera nollgränsen
plt.show()
✅ Nu kan vi snabbt se när kassaflödet blir negativt!
6. Automatiserad rapportering av kassaflödet
För att underlätta rapporteringen kan vi exportera analysen till en Excel-fil.
Exempel: Skapa en kassaflödesrapport i Excel
with pd.ExcelWriter("kassaflödesrapport.xlsx") as writer:
cashflow_summary.to_excel(writer, sheet_name="Kassaflödesanalys")
negative_cashflow.to_excel(writer, sheet_name="Negativa månader")
print("Kassaflödesrapporten är genererad!")
✅ Nu har vi en färdig analysrapport redo att skickas till ledningen!
Slutsats
Genom att använda Pandas och MongoDB för kassaflödesanalys kan vi:
✔ Automatisera hantering av kassaflödesdata
✔ Identifiera perioder med negativt kassaflöde
✔ Förutse framtida likviditetsproblem
✔ Generera detaljerade rapporter och visualiseringar
Vill du implementera detta i din verksamhet? Hör av dig!

Lillqvist Strat consults on business developement, software projects, automation, SOPs, analytical tools and more.
Contact me today to get started on our journey to higher profits, more revenue and happier employees!
Go to Contact now