# Rapport Pipeline Forecast > Weighted sales forecast, pipeline per stage, win rate and sales cycle from a deals CSV. Reads a deals export (Rapport, HubSpot or Pipedrive CSV, or a Rapport CRM file) and computes the open pipeline per stage, the weighted forecast per month by expected close date, overdue deals, win rate by count and value, the average and median sales cycle and the numbers per owner. Same calculation as the Rapport dashboard. Part of usefulweb.app (https://usefulweb.app/). Part of [Rapport](https://rapport.usefulweb.app/) (ownerApp: rapport). Results are deterministic calculations from the inputs and the listed assumptions; the API returns exactly what the web page shows. ## Use it - Human interface: https://rapportpipelineforecast.usefulweb.app/ (interactive tool at https://rapportpipelineforecast.usefulweb.app/tool) - JSON API: POST https://rapportpipelineforecast.usefulweb.app/api/v1/calculate with a JSON object of inputs (schema: https://rapportpipelineforecast.usefulweb.app/api/v1/tool) - OpenAPI: https://rapportpipelineforecast.usefulweb.app/openapi.json - MCP (Streamable HTTP): https://rapportpipelineforecast.usefulweb.app/mcp - tool `rapport_pipeline_forecast` ## Inputs - deals (textarea): Deals (CSV or Rapport file) - Needs a title and a value column; stage, status (open/won/lost), probability, expected close, created, closed and owner columns are used when present. - dealsFile (file): File (optional) - Used instead of the pasted text when given. - asOf (date): Today is - Deals expected before this day count as overdue; the months start here. Empty = today. - months (number): Months to forecast - from (date): Closed from (optional) - Win rate and sales cycle count deals closed in this window. Empty = 12 months up to “Today is”. - to (date): Closed until (optional) - pipeline (text): Pipeline (optional) - Name of one pipeline; empty = all. ## Method - Weighted value of an open deal = value × probability. The probability is the deal’s own value when the file has one, otherwise the stage’s; won stages count 100 %, lost 0 %. - Forecast per month: open deals grouped by the month of their expected close date, starting with the month of “Today is”. Open deals whose expected close lies before “Today is” are listed as overdue instead; deals without a date are only in the stage totals. - Win rate = won ÷ (won + lost) among deals closed inside the window, by count and by value. Sales cycle = days from creation to the won date of the deals won in the window (average and median). - CSV files: stages are taken in the order they first appear among open deals. Without a probability column, stage probabilities are spread evenly (the tool says so), so add one for real numbers.