sw-api / docs /corporate /monthly_formula.py
patrickbdevaney's picture
v1 attempt at hf space api
ffcf62f
def calculate_monthly_charge(
development_time_hours: float,
hourly_rate: float,
amortization_months: int,
api_calls_per_month: int,
cost_per_api_call: float,
monthly_maintenance: float,
additional_monthly_costs: float,
profit_margin_percentage: float,
) -> float:
"""
Calculate the monthly charge for a service based on various cost factors.
Parameters:
- development_time_hours (float): The total number of hours spent on development and setup.
- hourly_rate (float): The rate per hour for development and setup.
- amortization_months (int): The number of months over which to amortize the development and setup costs.
- api_calls_per_month (int): The number of API calls made per month.
- cost_per_api_call (float): The cost per API call.
- monthly_maintenance (float): The monthly maintenance cost.
- additional_monthly_costs (float): Any additional monthly costs.
- profit_margin_percentage (float): The desired profit margin as a percentage.
Returns:
- monthly_charge (float): The calculated monthly charge for the service.
"""
# Calculate Development and Setup Costs (amortized monthly)
development_and_setup_costs_monthly = (
development_time_hours * hourly_rate
) / amortization_months
# Calculate Operational Costs per Month
operational_costs_monthly = (
(api_calls_per_month * cost_per_api_call)
+ monthly_maintenance
+ additional_monthly_costs
)
# Calculate Total Monthly Costs
total_monthly_costs = (
development_and_setup_costs_monthly
+ operational_costs_monthly
)
# Calculate Pricing with Profit Margin
monthly_charge = total_monthly_costs * (
1 + profit_margin_percentage / 100
)
return monthly_charge
# Example usage:
monthly_charge = calculate_monthly_charge(
development_time_hours=100,
hourly_rate=500,
amortization_months=12,
api_calls_per_month=500000,
cost_per_api_call=0.002,
monthly_maintenance=1000,
additional_monthly_costs=300,
profit_margin_percentage=10000,
)
print(f"Monthly Charge: ${monthly_charge:.2f}")