London School of Hygiene and Tropical Medicine, London, UK

Centre for Sexual Health and HIV AIDS Research (CeSHHAR) Zimbabwe

Liverpool School of Tropical Medicine, Liverpool, UK

Email. calum.davey@lshtm.ac.uk

Female sex workers are more likely than women of similar age to be living with HIV. Sex work can lead to with violence, stigma, and distrimination. Selling sex is associated with poverty, familial breakdown, substance misuse, and other â€˜co-morbidâ€™ vulnerabilities that increase the likelihood that female sex workers will be in need of sustained health and welfare services. Retaining female sex workers in care is a challenge, in part because their work incentivises movement to find clients. A recent impact evaluation of an intervention to improve healthcare services for female sex workers compared places with and without an enhanced sex-worker friendly intervention using respondent-driven-sampling surveys in cross section. Since retention in care and the validity of comparisons between plces to estimate intervention effects will depend on the levels of mobility we sought to model the probability that a female sex worker in Zimbabwe will be in a place different from the location where she usually lives. We used data from the 2016 â€˜endlineâ€™ survey from the SAPPHIRE trial.

The aim of this analysis was to estimate the overall likelihood of female sex workers being in places other than where they usually live as a function of distance.

In estimating the probability of observing an individual from location *a* at location *b* we can imagine that this would depend on the probability *p _{t}* that women at

We can estimate *p _{t}* by calculating the proportion of the preceeding 12 months that women in our sample spent away on trips of length

```
library(shape)
plot.new()
par(mar=c(0,0,0,0), mai=c(0,0,0,0))
plot.window(c(-.6,.6), c(-.6,.6))
plotcircle(r=.4, lcol = "gray", col="light gray")
plotcircle(r=.3, lcol = "gray", col="white")
Arrows(0, 0, .4, 0, code = 2, arr.length = 0.3,
arr.width = .15, arr.adj = 1, arr.type = "triangle",
segment = TRUE, col = "black")
textflag(c(-0.07,0), .05, .1, rx = 0, dr = 0.01,
col = "white", lcol = "white",
lwd = 2, lab=expression("a"), cex=2)
textflag(c(0.47,0), .05, .1, rx = 0, dr = 0.01,
col = "white", lcol = "white",
lwd = 2, lab=expression("b"), cex=2)
textflag(c(0.2,.05), .05, .1, rx = 0, dr = 0.01,
col = NULL, lcol = NA,
lwd = 2, lab=expression("d"), cex=2)
filledcircle(r1 = .01, mid = c(0,0), col="black")
filledcircle(r1 = .01, mid = c(0.4,0), col="black")
Arrows(0, 0, .22, -.23, code = 2, arr.length = 0.4,
arr.width = .5, arr.adj = 1, arr.type = "triangle",
segment = TRUE, lty=0, col = "black")
Arrows(0.33, -0.33, .301, -.301, code = 2, arr.length = 0.4,
arr.width = .5, arr.adj = 1, arr.type = "triangle",
segment = TRUE, lty=0, col = "black")
textflag(c(0.275,-0.27), .05, .1, rx = 0, dr = 0.01,
col = NULL, lcol = NA,
lwd = 2, lab=expression("10km"), cex=1.8)
```