Spaces:
Runtime error
Runtime error
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}") | |